单击复选框时,应提交表单,但这不会发生。一个简单的警报(作为测试)确实有效。它出了什么问题?
HTML
<form id="formId" name="formName" action="index.php" method="post">
<input name=entry>
<input type="checkbox" class="checkbox1">1
<input type="checkbox" class="checkbox2">2
<input type="checkbox" onclick="this.form.submit();">5
<input type="submit" name="submit" >
</form>
JS
<script type="text/javascript">
$(document).ready(
function(){
$(".checkbox1").click(
function(){
alert('checkbox 1 clicked');
}
)
$(".checkbox2").click(
function(){
$('#formId').submit();
}
)
}
);
</script>
答案 0 :(得分:2)
忽略下面的第一个问题,我可以看到您的表单不会通过提交按钮以外的任何按钮提交。
我的解决方法是在提交按钮上发送trigger
click
个事件,而不是尝试使用.submit()
提交表单:
e.g。 http://jsfiddle.net/tkdxg66m/1/
$(".checkbox2").click(
function(){
$('#submitme').trigger('click');
}
)
这是非常奇怪的行为,因为submit()
应该有效,所以我会进一步研究它。
以下较旧的答案/问题:
您已将代码包装在一个从未调用过的函数中:
你可能想要使用像这样的DOM就绪处理程序:
$(function(){
$(".checkbox1").click(
function(){
alert('checkbox 1 clicked');
}
)
$(".checkbox2").click(
function(){
$('#formId').submit();
}
)
});
注意:$(function(){your code});
是$(document).ready(function(){your code});
或IIFE(立即调用的函数表达式)执行如下:
(function(){
$(".checkbox1").click(
function(){
alert('checkbox 1 clicked');
}
)
$(".checkbox2").click(
function(){
$('#formId').submit();
}
)
})();
DOM ready选项在这种情况下更有意义:)
答案 1 :(得分:1)
只需使用下面的jQuery代码即可。它适用于提交表格。
$(document).ready(function(e) {
$(".checkbox2").click(
function(){
$("#formId").submit();
}
);
});
答案 2 :(得分:0)
将“点击”更改为“更改” - 我同意“点击”应该有效,但它并不总是对我来说= /
答案 3 :(得分:0)