验证多个复选框和内爆函数

问题描述 投票:1回答:2

以下是一个片段

<tr>
    <td>7</td>
    <td>Tick the Teaching Methods Used </td>
    <td>
        <input type="checkbox" id="lectures" name="lectures" value="lectures">Lectures &nbsp;
        <input type="checkbox" id="study" name="study" value="study">Case Study &nbsp;
        <input type="checkbox" id="audvid" name="audvid" value="audvid">Audio|Video &nbsp;
        <input type="checkbox" id="interactive" name="interactive" value="interactive">Interactive Methods &nbsp;
        <input type="checkbox" id="discussion" name="discussion" value="discussion">Discussion &nbsp;
        <input type="checkbox" id="role" name="role" value="role">Role Play &nbsp;
        <input type="checkbox" id="quiz" name="quiz" value="quiz">Quiz
    </td>
</tr>

验证码是

if ((document.form1.lectures.checked == false)
      && (document.form1.study.checked == false)
      && (document.form1.audvid.checked == false)
      && (document.form1.interactive.checked == false)
      && (document.form1.discussion.checked == false)
      && (document.form1.role.checked == false)
      && (document.form1.quiz.checked == false)) { 

    alert("Please check any one method"); 
    isValid = false;
}
return isValid;

我如何只将选中的值插入mysql数据库,implode似乎没有帮助

编辑:如果我使用相同的“名称”为所有复选框implode工作,但在那种情况下,我无法验证

javascript php mysql forms validation
2个回答
0
投票

对所有复选框使用相同的名称。你说implode,所以这很好。至于验证,将其更改为使用ID:

else if ((document.getElementById("lectures").checked == false)
      && (document.getElementById("study").checked == false)
      && (document.getElementById("audvid").checked == false)
      && (document.getElementById("interactive").checked == false)
      && (document.getElementById("discussion").checked == false)
      && (document.getElementById("role").checked == false)
      && (document.getElementById("quiz").checked == false)) { 

    alert("Please check any one method"); 
    isValid = false;
}
return isValid;

0
投票

如果选中(选中)复选框,则仅将其置于POST中。

PHP:

$keys = explode(',','lectures,study,audvid'); //get all keys
$result = array();

foreach ($keys as $key) {
  if (isset($_POST[$key]) && $_POST[$key]) { //selected!
    $result[] = $key;
  }
}

print_r($result); //only selected checkeboxes are in result.
© www.soinside.com 2019 - 2024. All rights reserved.