Quantcast
Channel: SharePoint 2013 - Development and Programming forum
Viewing all articles
Browse latest Browse all 7589

On date field change check list if date has already been selected. Javascript (SPservice)

$
0
0

Good day 

When a date field is changed i would like to query a SharePoint list and check each record if the date has already been selected. 

The onChange function is triggers but not the SPservice section it is displaying an error $ undefined.

How would i lay this out.

Any assistance is appreciated.

<head><script type="text/javascript" src="../SiteAssets/CodeResource/Testing/DisplayDataWithTextFilterAndDetailsEditAndExportFunction/jquery.1.8.3.min.js"></script><script type="text/javascript" src="../SiteAssets/CodeResource/Testing/DisplayDataWithTextFilterAndDetailsEditAndExportFunction/jquery.SPServices-0.7.1a.min.js"></script></style><script type="text/javascript">
_spBodyOnLoadFunctionNames.push("hideFieldsOnStart")

function hideFieldsOnStart() {
//add Change event to a field
getTagFromIdentifierAndTitle("input","DateTimeFieldDate","Start Time").onvaluesetfrompicker = function() {ChangeEvent()};
getTagFromIdentifierAndTitle("input","DateTimeFieldDate","Start Time").onchange = function() {ChangeEvent()};
//end onLoad
}

function ChangeEvent() {

var dateSelected1 = getTagFromIdentifierAndTitle("input","DateTimeFieldDate","Expires");
var dateFromSelection1 = new Date(dateSelected1.value);
var dd1 = dateFromSelection1.getDate();
var mm1 = dateFromSelection1.getMonth()+1;
var yyyy1 = dateFromSelection1.getFullYear();
if(dd1<10){dd1='0'+dd1} if(mm1<10){mm1='0'+mm1}
expiresdate1  = dd1+'/'+mm1+'/'+yyyy1;
alert(expiresdate1);


          $().SPServices({
               operation: "GetListItems",
               async: true,
               listName: "Notices",
               CAMLViewFields: "<ViewFields><FieldRef Name='Start Time' /><FieldRef Name='Expires' /></ViewFields>",
               CAMLQuery: "<Query><Where><And><IsNotNull><FieldRef Name='Expires' /></IsNotNull><Geq><FieldRef Name='Expires' /><Value Type='DateTime'><Today/></Value></Geq></And></Where><OrderBy><FieldRef Name='Created' Ascending='False' /></OrderBy></Query>",
               completefunc: function(xData, Status) {

                    $(xData.responseXML).SPFilterNode("z:row").each(function() {
                  slideExpires = ($(this).attr("ows_Expires"));

if (slideExpires >= expiresdate1) {
  alert("Test False");
} else {
  alert("Test True");
};
})

}
});

}



//this gets the field based on title identifier and tagname
function getTagFromIdentifierAndTitle(tagName, identifier, title) {
 var len = identifier.length;
 var tags = document.getElementsByTagName(tagName);
 for (var i=0; i < tags.length; i++) {
 var tempString = tags[i].id;
 if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) {
  return tags[i];
 }
 }
 return null;
}</script></head>

Thanks

Regards


Viewing all articles
Browse latest Browse all 7589

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>