我一直試圖將數組和表單數據一起發佈,但看起來像我得到的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