How to check if list contains needed rows using javascript in sharepoint2010? -


i have calendar list called events , custom list called attendees. on default display form of events there "registration on event" button javascript creates record in attendees list like: "eventid" , "attendeename"/

var siteurl = '/hr/events';  var eventid = utilities.spform.getparametervalue('id');    var thisuserid = $().spservices.spgetcurrentuser();      function regnewattendee() {        var clientcontext = new sp.clientcontext(siteurl);      var olist = clientcontext.get_web().get_lists().getbytitle('attendees');         var objusers = new array();      objusers.push(sp.fielduservalue.fromuser(thisuserid));           var itemcreateinfo = new sp.listitemcreationinformation();      this.olistitem = olist.additem(itemcreateinfo);               olistitem.set_item('eventid', eventid);      olistitem.set_item('attendee', objusers);                  olistitem.update();        clientcontext.load(olistitem);                clientcontext.executequeryasync(function.createdelegate(this, this.onquerysucceeded), function.createdelegate(this, this.onqueryfailed));  }    function onquerysucceeded() {        alert('registration complete! (' + thisuserid + ')');  }    function onqueryfailed(sender, args) {        alert('request failed. ' + args.get_message() + '\n' + args.get_stacktrace());  }

how can check before posting if there alredy exist row in attendees list current eventid , name, can avoid duplicate of registration info? needed find , delete row when user wants cancel registration.

thank in advance.

what you'll want compose caml query filters on desired name , eventid, , query list matching items.

in callback method asynchronous query, set variable false. then, when iterate through returned items, set variable true indicate matching item exists. can decide whether create item based on value of variable.

this means you'll doing 2 calls clientcontext.executequeryasync(): first query check whether item exists, second create item.


Comments