如何从html表单

时间:2017-04-06 20:27:00

标签: javascript html forms checkbox nodelist

我知道我可以使用jQuery(how to get multiple checkbox value using jquery)来获取复选框值,但是我的复选框输入在html表单中,所以那些jQuery解决方案都没有工作,因为它们都没有从表单中获取复选框值。

我尝试从表单中提取值,但它只是创建了一个奇怪的无线电节点列表,它似乎计算了复选框名称出现在doc中的次数而不是值。



function validateForm() {
  var checks = document.forms["TestForm"]["ParticipantSelection[]"];
  alert(checks);

}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>

<form name="TestForm" action="Video1.php" method="post" onsubmit="return validateForm()">

  <table>

    <tr>
      <th><img name="<?php echo $valueindicator[0];?>" src="<?php echo $all_four_images[0];?>" height="100">
      </th>

      <th><img name="<?php echo $valueindicator[1];?>" src="<?php echo $all_four_images[1];?>" height="100">
      </th>
      <th><img name="<?php echo $valueindicator[2];?>" src="<?php echo $all_four_images[2];?>" height="100">
      </th>
    </tr>

    <tr>
      <th> <input type="checkbox" name="ParticipantSelection[]" value="image1">
      </th>

      <th><input type="checkbox" name="ParticipantSelection[]" value="image2">
      </th>

      <th><input type="checkbox" name="ParticipantSelection[]" value="image3">
      </th>
    </tr>


  </table>
  <input type="hidden" name="AnswerCondition" value="BrowserCheckAnswer">


  <button type="submit">Continue</button>

</form>
&#13;
&#13;
&#13;

但是我不知道如何让js获取表单输入中的值,而不是计算其他内容,并且不知道如何访问复选框的值

2 个答案:

答案 0 :(得分:3)

您可以使用jquery .map()函数遍历每个选中的复选框,它将返回所选复选框的对象,为了从jQuery对象获取数组,我们可以使用.get(),如下所示

试试这个:

&#13;
&#13;
var validateForm = function(){
	var checks = $('input[type="checkbox"]:checked').map(function(){
		return $(this).val();
	}).get()
    console.log(checks);
    return false;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name = "TestForm" action="Video1.php" method="post" onsubmit="return validateForm()">

<table>


    <tr>
        <th> <input type="checkbox" name="ParticipantSelection[]" value="image1">
        </th>

        <th><input type="checkbox" name="ParticipantSelection[]" value="image2">
        </th>

        <th><input type="checkbox" name="ParticipantSelection[]" value="image3">
        </th>
    </tr>


</table>
<input type="hidden" name="AnswerCondition" value="BrowserCheckAnswer">


<button type="submit">Continue</button>

</form>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

checks是一个类似于数组的对象,表示具有该名称的所有元素。

像数组一样循环遍历它。每个成员都有一个表示值的value属性和一个checked(布尔)属性,它会告诉你它是否被选中。