我一直试图将数组和表单数据一起发布,但看起来像我得到的JavaScript错误。当我试图发布只有数组数据而不添加表单数据时,它工作正常。
我有一个下拉选择框和几个CheckBoxes。我想将SelectBox数据和CheckBox数据一起发布,因此我将CheckBox数据保存到数组中,因为它是一个多选Select CheckBox。通过jQuery Ajax发布数组和表单数据时发生的问题
在下面的代码,我需要这方面的
data: datasel+"&id="+$("#member_id").val(), //Error in this line only. To be Fixed!!
这里解决的问题是完整的代码
<script>
$(document).ready(function(){
$("#err").css('display', 'none', 'important');
$("#submit_issueBook").click(function(){
//Creating Array and adding data
var datasel = { 'selector[]' : []};
$(":checked").each(function() {
datasel['selector[]'].push($(this).val());
});
$.ajax({
type: "POST",
url: "includes/issue_book.php",
//data: "submit_addMember="+$("#submit_addMember").val(), <-- Default format for sending post data
data: datasel+"&id="+$("#member_id").val(),
if($.trim(html)=='true'){
$("#err").addClass("alert alert-success err-inline");
$("#err").html("<strong>Member details updated Successfully</strong>");
window.location="<?php basename($_SERVER['PHP_SELF']); ?>";
}
else{
$("#err").addClass("alert alert-danger err-inline");
$("#err").html("<img src='images/caution-icon.png' />"+$.trim(html));
}
},
beforeSend:function()
{
$("#err").css('display', '-webkit-inline-box', 'important');
$("#err").addClass("err-inline");
$("#err").html("<img src='images/loading.gif' /> Loading...")
}
});
return false;
});
});
</script>
PHP代码来捕获这些数据
if(isset($_POST['selector']))
{ $id=$_POST['id'];
$data=$_POST['selector'];
for ($i=0; $i < count($data); $i++)
{
//Some SQL query
}
}
任何帮助将不胜感激。 谢谢:)
感谢兄弟工作。但是有一个问题我检查了POST数据,看起来它在这里发布了一个额外的选择 选择器“%”5B“%”5D = 2&选择器“%”5B“%”5D = 1&选择器“%”5B“%”5D = 2&id = 2 第一个选择符= 2的人会自动添加不知道如何。我甚至检查过这个html,没有这个问题。那么为什么它发布两次选择器= 2 – 2015-04-04 19:26:31
我不知道,看起来像你有两个“2”s检查。仔细检查你的表单输入设置。 – 2015-04-04 19:41:30
谢谢曼我已经找到了问题替换$(“:checked”)$(“#selection:checked”) – 2015-04-04 20:02:11