#sharepoint
#sharepoint
Вопрос:
Я пытаюсь принудительно применить уникальные значения на основе 3 столбцов. я пытаюсь использовать SharePoint online.
- Столбец поиска
- Выбор
- Календарь (только дата)
Я попытался с помощью приведенного ниже кода извлечь существующие значения из списка, но не удается выбрать календарную дату. не удалось выяснить, что можно сделать. кто-нибудь может помочь в этом,
<script type="text/javascript" src="/sites/Mysite/SiteAssets/jquery.min.js"></script><script type="text/javascript">
//variable to hold Ajax result
var dataResults;
var call = $.ajax({
url: _spPageContextInfo.webAbsoluteUrl "/_api/Web/Lists/GetByTitle('Mylist')/Items?" "$select=Title,Engagement,Period",
//Title is a lookup column
type: "GET",
dataType: "json",
async:false,
headers: {
Accept: "application/json;odata=verbose"
},
success: function(data) {
dataResults = data.d;
}
});
function PeriodValue(fullDate){
var orderDateString = "2016-10-19T22:00.00Z"; //UTC datetime value from REST response
var orderDate = new Date(orderDateString);
var value= TimeZoneUtilities.utcToLocalTime(_spPageContextInfo.webAbsoluteUrl,orderDate);
alert(value);
var dateValue=null,twoDigitDate=null,twoDigitMonth=null,twoDigitYear,currentDate=null;
dateValue = fullDate.split("T")[0];
twoDigitDate = dateValue.split("-")[2];
twoDigitMonth = dateValue.split("-")[1];
twoDigitYear = dateValue.split("-")[0];
currentDate = twoDigitDate "/" twoDigitMonth "/" twoDigitYear;
return currentDate;
}
//function to compare user input and existing data
function PreSaveAction(){
var ClientName = document.querySelector('[title="Client Name Required Field"]');
var engagement = document.querySelector('[title="Engagement Required Field"]');
var period = document.querySelector('[title="Period Required Field"]');
ClientName=ClientName.options[ClientName.selectedIndex].text;
engagement=engagement.options[engagement.selectedIndex].text;
period=period.value;
var c = null;
$.each(dataResults, function(i, item){
c = true;
$.each(item, function(i, dt){
console.log(dt.Engagement ' ' dt.Period ' ' dt.Title);
if (dt.Engagement == engagement amp;amp; dt.Period == period amp;amp; dt.Title==ClientName){
c = false;
alert("Already exist");
return c;
}
});
});
return c;
}
</script>
Комментарии:
1. Как используется функция PeriodValue()? Вам лучше поделиться дополнительной информацией о списке.
2. Я использую PeriodValue () для столбца календаря (только дата), чтобы извлечь значение даты из элементов списка и сравнить столбец даты со значением нового элемента. При получении значения даты оно находится в таком формате «2016-10-19T22:00.00Z» с датой -1.
3. Но это не было вызвано в скрипте.
4. пожалуйста, дайте мне знать о любых исправлениях в коде.
5. Вам лучше поделиться подробной информацией о списке, чтобы я мог протестировать напрямую с вами, проблем с логикой кода возникнуть не должно. Или вы могли бы попытаться отладить код, чтобы найти причину.