[英]Passing form array data through jQuery AJAX
I have a form that allows you to add multiple listings at one time. 我有一个表格,可让您一次添加多个列表。
I also have to pass through an md5check. 我还必须通过md5check。
IE) 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. 我想通过AJAX传递主ID和数组,以便可以在PHP中使用$ _REQUEST进行存储。 The 'md5check' must be there. “ md5check” 必须存在。
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: HTML表单:
<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: 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;
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.