2015-06-30 2 views
1

Я новичок в sharepoint.Скрыть поле на основе выпадающего списка в sharepoint новый элемент

Я создал список. В окне нового элемента я хотел бы отображать или скрывать поля, основываясь на выпадающем значении выбора. Я знаю, что это можно сделать с помощью jquery, как показано ниже. но я не знаю, где разместить код.

https://sharepoint.stackexchange.com/questions/88064/hide-show-field-on-list-form-based-on-value-from-another-field

благодарит

ответ

0

Перейдите в список главной странице, то

List Tools>List>Form Web Parts>Default New Form 

Затем нажмите на Add a Web Part и под Categories выберите Media and Content > Content Editor. Нажмите Add, чтобы добавить его на страницу.
В левой части редактора содержимого вы увидите стрелку. Нажмите на нее и выберите Edit Web Part. Под номером Content Link нажмите на кнопку, чтобы открыть Text Editor. Добавьте URL-адрес вашей страницы aspx.
Например, если страница хранится в библиотеке Site Assets и называется newform.aspx URL-адрес является [url path to site assets]/SiteAssets/newform.aspx .go в котором вы сохранили скрипт и скопировать ссылку, отображаемую в браузере: копию до /SiteAssets/ или /[library internal name]/ для другой библиотеки. Затем добавьте имя скрипта. Вы можете заметить, что относительный URL-адрес достаточен и начинается с /sites/.
Однако newform.aspx должен быть отредактирован таким образом:

 <asp:Content ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server"> 
      <SharePoint:ScriptLink Name="sp.ribbon.js" runat="server" OnDemand="true" Localizable="false" /> 
      <SharePoint:ScriptLink Name="SP.js" runat="server" OnDemand="true" Localizable="false" /> 

      <script type="text/javascript"> 
       /*Your script here*/ 
       /*examples*/ 
       myFunction1() 
       {} 
       myFunction2() 
       {} 
       jQuery(document).ready(function ($) 
       {       
         ExecuteOrDelayUntilScriptLoaded(myFunction1, "sp.js");   //if the function operates on the form 
         ExecuteOrDelayUntilScriptLoaded(myFunction2, "sp.ribbon.js"); //if the function operates on the ribbon 
       }); 

      </script> 

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
      <html xmlns="http://www.w3.org/1999/xhtml"> 
        <head> 
         <meta content="text/html; charset=windows-1252" http-equiv="Content-Type" /> 
         <title>Page</title> 
        </head> 
        <body> 

        </body> 

      </html> 

    </asp:Content> 

1. Задать сервер для загрузки sp.js and sp.ribbon.js путем добавления необходимых тегов в верхней части страницы, если вы хотите работать на форме и/или тесемки
2. Вы можете добавлять пользовательские HTML: удалить иначе
3. Сохранить как .aspx

+0

я был в состоянии добавить URL при ссылке контента. Нужно ли добавлять веб-часть в раздел заголовка или тела? Как я могу отредактировать newform.aspx? – saeid10

+0

@ saeid10 Когда вы нажимаете «По умолчанию Новая форма», вы можете увидеть «Добавить веб-часть» внутри поля. Нажмите здесь. – Dien

+0

спасибо, я сделал это. но я использовал html-код, который был на сайте – saeid10

1

шаги:

  • Скачать SPUtility.js.
  • Загрузите загруженный файл (SPUtility.js) в соответствующее место на сайте SharePoint, например «Библиотека стилей».
  • Открыть список> Из приведенной выше ленты> В разделе «Настроить список»> Нажмите «Форма веб-частей формы»> Выберите «По умолчанию новая форма».
  • Добавьте редактор сценариев в свою новую форму.
  • Редактирование фрагмента> Добавить код ниже.

Код

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
<script src="/Style%20Library/sputility.js"></script> 
<script> 
$(document).ready(function() 
{ // Get a the choice field 
var choiceField = SPUtility.GetSPField('Job Title'); 
// Hide the target fields in form load 
SPUtility.GetSPField('Other Title').Hide(); 
// create a function to show or hide a field based on the selected choice Field value 
var ShowHideField = function() { 
var selectedFieldValue = choiceField.GetValue(); 
// Hide the 'Other Title' field if the selected value is 'Other' 
if(selectedFieldValue != 'Other') { 
SPUtility.GetSPField('Other Title').Hide(); } 
else { SPUtility.GetSPField('Other Title').Show(); } }; 
// attach the function to choice field 
$(choiceField.Dropdown).on('change', ShowHideField); }); 
</script> 

[ВЫВОД]

enter image description here

enter image description here

Примечание: Замените Job Title на ваше имя поля выбора и Other Title с вашим полем, которое вам нужно показать или скрыть на основании выбор поля выбора.

Для редактирования формы/Display и более подробно проверить Show/Hide fields based on a drop down field using SPUtility.js

Альтернативный метод проверки Show/Hide fields based on choice field selection using JQuery in SharePoint

Смежные вопросы