通过JavaScript获取表单值

时间:2016-02-11 08:21:27

标签: javascript php html arrays arraylist

这是我的HJTML代码。我不知道如何使用JavaScript将值存储在filtertime[]中并将其显示在我的屏幕上。

   <form action="index.php" method="post" >

    <div class="col-lg-6"><div class="f-txt-l"><input id="test" type="checkbox" name="filtertime[]" class="morning" value="Morning"></div> <div class="f-txt-r">Morning</div></div>
     <div class="col-lg-6"><div class="f-txt-l"><input  id="test" type="checkbox" name="filtertime[]" class="morning" value="Afternoon"></div> <div class="f-txt-r">Afternoon</div></div>
     <div class="col-lg-6"><div class="f-txt-l"><input  id="test" type="checkbox" name="filtertime[]" class="morning" value="Evening"></div> <div class="f-txt-r">Evening</div></div>
     <div class="col-lg-6"><div class="f-txt-l"><input  id="test" type="checkbox" name="filtertime[]" class="morning" value="Night"></div> <div class="f-txt-r">Night</div></div>

     <div class="col-lg-12"><input type="submit" name="button" class="apply-filter" value="Apply Filter"></div>


        </form>


   <script>
   var new =  document.getElementsById("test").innerhtml
   </script>

如何通过值获取JavaScript中的输入值作为filtertime[]存储在数组中?

4 个答案:

答案 0 :(得分:2)

在您的表单中

<form action="index.php" id="myform" method="post" >
中的

 var datastring = $("#myform").serialize();

JS

var params = '';
for( var i=0; i<document.FormName.elements.length; i++ )
{
   var fieldName = document.FormName.elements[i].name;
   var fieldValue = document.FormName.elements[i].value;

   // use the fields, put them in a array, etc.

   // or, add them to a key-value pair strings, 
   // as in regular POST

   params += fieldName + '=' + fieldValue + '&';
}

答案 1 :(得分:1)

这是获取表单项数组的最简单方法

 var arrValues = [];
 for (var x =0; x < document.getElementsByClassName("morning").length ; x++)
 {
   arrValues.push(document.getElementsByClassName("morning")[x].checked);
 }

答案 2 :(得分:1)

id代码中添加form

<form action="index.php" id="form_name" method="post" >

使用下面的代码来获取JS的所有表单元素: -

document.forms["form_name"].getElementsByTagName("input");

注意: - 仅当您的表单中没有selectstextareas时,上述代码才有效。

如果您已在DOM元素中分配了id,如下所示

<input type="text" name="name" id="uniqueID" value="value" />

然后您可以通过以下代码访问它: -

使用Javascript: -

var nameValue = document.getElementById("uniqueID").value;

如果您的表单中有单选按钮,请使用以下代码: -

<input type="radio" name="radio_name" value="1" > 1
<input type="radio" name="radio_name" value="0" > 0<br>

使用Javascript: -

var radios = document.getElementsByName('radio_name');

for (var i = 0, length = radios.length; i < length; i++) {
    if (radios[i].checked) {
        // do whatever you want with the checked radio
        alert(radios[i].value);

        // only one radio can be logically checked, don't check the rest
        break;
    }
}

希望它会对你有所帮助:)。

答案 3 :(得分:1)

要做到这一点,最简单的方法是选择所有带有“morning”类的输入,之后,foreach看看是否被选中:

    var item = document.getElementsByClassName("morning"); // get all checkbox
    var checkboxesChecked = []; // result array with ckecked ckeckbox

    for (var i=0; i<item.length; i++) {
         // if is checked add the value into the array
         if (item[i].checked) {
            checkboxesChecked.push(item[i].value);
         }
    }


    console.log(checkboxesChecked);

在“checkboxesChecked”数组中,您拥有复选框的所有值。