I'm making a form with a lot of fields, I planned submit all the data via AJAX asynchronously. However when I click the Submit button, it remains in its clicked state and the page freezes. Also the beforeSend function
doesn't execute either. Note the _()
function is the document.getElementById
I have heard about the jQuery .done()
function, however will this help the performance of the page and all the data gets put into a database as one row, so if I split the data have a .done() function to send the other half, will it store in the database as two rows ?
function addproperty(){
var propertyname = _("propertyname").value;
var propertyaddr = _("propertyaddress").value;
var price = _("price").value;
var rent = _("rent").value;
var available = _("available").value;
var brokerage = _("brokerage").value;
var area = _("area").value;
var subarea = _("subarea").value;
var sqft = _("sqft").value;
var description = _("description").value;
var location = _("location").value;
var floortype = _("flooringtype").value;
var parking = _("parking").value;
var deposit = _("deposits").value;
var lease = _("lease").value;
var utils = _("utils").value;
var bedrm = _("bedrooms").value;
var bathrm = _("bathrooms").value;
var smoke = _("smoking").value;
var pets = _("pets").value;
var built = _("built").value;
var submit = _("propertysubmit");
$.ajax({
url: "addlisting.php",
type: "POST",
async: true,
data:{
propertyname:propertyname,
propertyaddr:propertyaddr,
price:price,
rent:rent,
available:available,
brokerage:brokerage,
area: area,
subarea: subarea,
sqft: sqft,
desc: description,
locate:location,
floortype: floortype,
park: parking,
deposit: deposit,
lease: lease,
utils: utils,
bedrm: bedrm,
bathrm: bathrm,
builtdate: built,
smoke: smoke,
pets: pets
},
beforeSend: function (){
submit.setAttribute("disabled", "disabled");
submit.innerHTML = "Submitting...";
},
success: function (){
submit.removeAttribute("disabled");
submit.innerHTML="Add New Listing";
}
});
}