I have a form that allows you to add multiple listings at one time.
I also have to pass through an md5check.
IE)
<select name="master_id"></select>
<select name="id2[]"></select>
<select name="id3[]"></select>
<input name="text[]"></input>
<input name="text2[]"></text>
<input name="text3[]"></text>
<input name="check[]" type="checkbox"></input>
<select name="id2[]"></select>
<select name="id3[]"></select>
<input name="text[]"></input>
<input name="text2[]"></text>
<input name="text3[]"></text>
<input name="check[]" type="checkbox"></input>
<select name="id2[]"></select>
<select name="id3[]"></select>
<input name="text[]"></input>
<input name="text2[]"></text>
<input name="text3[]"></text>
<input name="check[]" type="checkbox"></input>
jQuery.ajax({
type: "POST",
url: ipb.vars['base_url'] + "app=main&module=ajax§ion=upload&do=upload",
data: {
'md5check': ipb.vars['secure_hash'],
}
}).done(function() {
alert( "Data Saved:");
});
I want to pass in the master ID and the arrays through AJAX so that they then can be $_REQUEST'ed in PHP. The 'md5check' must be there.
data can also take a string so, you can used
jQuery.ajax({
type: "POST",
url: ipb.vars['base_url'] + "app=main&module=ajax§ion=upload&do=upload",
data: $('input[name="username[]"],input[name="password[]"],input[name="rawtext[]"]').serialize()
+ '&md5check='+ipb.vars['secure_hash'],
}).done(function() {
alert( "Data Saved:");
});
HTML Form:
<form action="" method="POST" id="myform">
<input name="username[]">
<input name="password[]">
<input name="rawtext[]">
<input name="username[]">
<input name="password[]">
<input name="rawtext[]">
<input name="username[]">
<input name="password[]">
<input name="rawtext[]">
<input name="submit" type="submit" value="submit">
</form>
jQuery:
$('#myform').submit(function(event) {
event.preventDefault();
//comment this line out
alert($(this).serialize());
$.post(ipb.vars['base_url'] + "app=main&module=ajax§ion=upload&do=upload&", {
$(this).serialize() })
.done(function(data) {
alert("Data Loaded: " + data);
});
return false;
});
You can use the following.
$('#myform').submit(function(e) {
e.preventDefault();
e.stopPropagation();
var formData = $(this).serializeObject();
var postData = $.extend({}, formData, {
app: main,
module: ajax,
section: upload,
do: upload
});
$.post(ipb.vars['base_url'], postData,
function(data) {
alert(data);
}
);
});
$.fn.serializeObject = function() {
var objectData = {};
var serializeArr = this.serializeArray();
$.each(serializeArr, function() {
if(objectData[this.name] !== undefined) {
if(!objectData[this.name].push) {
objectData[this.name] = [objectData[this.name]];
}
objectData[this.name].push($.trim(this.value) || '');
} else {
objectData[this.name] = $.trim(this.value) || '';
}
});
return objectData;
};
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.