Javascript 引导模式+JS/AJAX复选框表单提交

Javascript 引导模式+JS/AJAX复选框表单提交,javascript,ajax,forms,checkbox,Javascript,Ajax,Forms,Checkbox,我花了将近一整天的时间试图自己解决这个问题,但我对AJAX/JS还是新手,失败了,所以我希望有人能给我指点 我有一个复选框列表,这些复选框位于模式引导中,并且都具有相同的名称。我希望用户单击相关复选框并提交,而不重定向页面。我一直试图通过JS和AJAX来实现这一点,但显然我缺少了一些东西 BS模式内部的形式如下所示 <form method="POST" id="hmis105"> <div class="checkbox"> <label><i

我花了将近一整天的时间试图自己解决这个问题,但我对AJAX/JS还是新手,失败了,所以我希望有人能给我指点

我有一个复选框列表,这些复选框位于模式引导中,并且都具有相同的名称。我希望用户单击相关复选框并提交,而不重定向页面。我一直试图通过JS和AJAX来实现这一点,但显然我缺少了一些东西

BS模式内部的形式如下所示

<form method="POST" id="hmis105">
<div class="checkbox">
    <label><input type="checkbox" name="reporting[]" value="80">Leishmaniasis</label>
</div>
<div class="checkbox">
    <label><input type="checkbox" name="reporting[]" value="81">Lymphatic Filariasis (hydrocele)</label>
</div>
<div class="checkbox">
    <label><input type="checkbox" name="reporting[]" value="82">Lymphatic Filariasis (Lympoedema)</label>
</div>
<div class="checkbox">
    <label><input type="checkbox" name="reporting[]" value="83">Urinary Schistosomiasis</label>
</div>
<input type="hidden" name="ConsultationID" value="{$ConsultationID}" />
<button class="btn btn-primary" id="btnSubmit">Save</button>
})

最后是ajax文件。我省略了php开始标记和DB连接信息$db只是创建一个新的数据库连接

foreach ($_POST['hmis'] as $report) {
    $now = date('Y-m-d H:i:s');
    $data = array(
        'consultationId' => $_POST['ConsultationID'],
        'diseaseId' => $report,
        'EntryTime' => $now
        );
    $reported = $db->insertRow("database", "table", $data);
}

老实说,在这一点上,我的头撞在墙上,我正在重新阅读那些让我更加困惑的东西>:谢谢你的时间

在服务器端,POST参数hmis将只是一个字符串。要从中提取数据,您需要使用:


我还尝试使用$'hmis105'。在javascript中也序列化为数据,但这似乎也不起作用。。。或者我很可能做错了什么。
foreach ($_POST['hmis'] as $report) {
    $now = date('Y-m-d H:i:s');
    $data = array(
        'consultationId' => $_POST['ConsultationID'],
        'diseaseId' => $report,
        'EntryTime' => $now
        );
    $reported = $db->insertRow("database", "table", $data);
}
foreach (json_decode($_POST['hmis']) as $report) {
   // ...