jquery - Javascript Control form fields posted to server -
i have backone js model defined below;
var class = basemodel.extend({ idattribute: "classid", urlroot: "api/class", defaults: { "person": null, "classurl": null, "classid": null } } here person object/class has 2 attributes; personname, personid
i have ui form has 2 fields;
- dropdown (called personname) : user can select list of options
- textbox (called classurl)
in js code, setting json below;
var myjson = { person : new person( { "personid": $('#personname option:selected').data('personid'), "personname": this.$('#personname').val() } ), classurl: this.$('#classurl').val() } then do;
this.model.save(myjson, { url: success: } however json gets posted looks like;
{ person:, classurl: personname: } i not want additional personname (corresponding dropdown) posted .
just add, have changeaction called on change of form field validation. here have;
changeaction: function (event) { var self = this; var target = event.target; var change = {}; target.value = $.trim(target.value); change[target.name] = target.value; var tpmmodel = this.model; tpmmodel.set(change); var check = tpmmodel.validateitem(target.id); if (check.isvalid === false) { self.addvalidationerror(target.id, check.message); } else { self.removevalidationerror(target.id); } } how handle this?
when need specify content want post using backbone model, need use "data" inside save method. tells backbone post server using specified data inside {}. this.
this.model.save(data: {"parameter1":"parameter1" ,"parameter2":"parameter2" }) or
this.model.save(data: json.stringify(personobject))
Comments
Post a Comment