[英]Auto submit form Using javascript error
我正在使用单选按钮提交表单,只有带有单选按钮的第一条记录正在工作,而另一条记录却没有
示例小提琴http://jsfiddle.net/sjs96/q9a6v4ma/1/
<form id="searchid" method="post" action="test.php">
<label><input name="search" id="radio" type="radio">test1</label><br>
<label><input name="search" id="radio" type="radio">test2</label><br>
<label><input name="search" id="radio" type="radio">test3</label>
</form>
JS:
var form = document.getElementById("searchid");
document.getElementById("radio").addEventListener("click", function () {
form.submit();
});
您不能有多个具有相同ID的元素。
改用查询选择器:
尝试这个:
var form = document.getElementById("searchid");
var currEl = document.querySelectorAll(".radio");
for (var i = 0; i < currEl.lenght; i++) {
currEl[ i ].addEventListener("click", function () {
form.submit();
});
}
也,
对您的收音机使用不同的ID。 具有相同的ID将导致更多问题,并可能影响性能。
Use jquery
var form = document.getElementById("searchid");
$('input[type=radio]').on("click", function () {
form.submit();
});
只能有一个具有相同值的id
。 我建议您使用类,而不要使用代码段中的id
$(document).ready(function() { var form = document.getElementById("searchid"); $('.radio').click(function(){ form.submit(); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form id="searchid" name='myForm' method="post" action="test.php"> <label><input name="search" class="radio" type="radio">test1</label><br> <label><input name="search" class="radio" type="radio">test2</label><br> <label><input name="search" class="radio" type="radio">test3</label> </form>
。
输入的标签不要使用相同的ID。
<label><input name="search" id="radio1" type="radio">test1</label><br>
<label><input name="search" id="radio2" type="radio">test2</label><br>
<label><input name="search" id="radio3" type="radio">test3</label>
更改这3个ID的JS代码,
var form = document.getElementById("searchid");
document.getElementById("radio1").addEventListener("click", function () {
form.submit();
});
document.getElementById("radio2").addEventListener("click", function () {
form.submit();
});
document.getElementById("radio3").addEventListener("click", function () {
form.submit();
});
对于动态收音机,请按照以下步骤操作。
创建js函数,仅包含表单提交,
var form = document.getElementById("searchid");
function myFunction() {
form.submit();
}
使用onclick事件调用该函数,
<label><input name="search" type="radio" onclick = "myFunction()">test</label>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.