这是我的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[]
存储在数组中?
答案 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");
注意: - 仅当您的表单中没有selects
或textareas
时,上述代码才有效。
如果您已在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”数组中,您拥有复选框的所有值。