我已经阅读了一些符合此描述的问题,但我仍然在苦苦思索。我已经阅读了这个submit-form-when-checkbox-is-checked-tutorial
检查无人机时,似乎无法提交表单。我尝试过使用.click
和.on('change')
这是我的代码,jquery是在php循环中。
<script type="text/javascript">
$(document).ready(function() {
$('input[name=choice-<?php echo $id; ?>]').click(function() {
$('#assessment-form-<?php echo $id; ?>').submit(function(e) {
alert('It works :)');
});
});
});
</script>
<form id="assessment-form-456" method="post" action="">
<ul class="clearfix">
<li><input type="radio" name="choice-456" id="t-456" value="yes">Yes</li>
<li><input type="radio" name="choice-456" id="f-456" value="no">No</li>
<li><input type="radio" name="choice-456" id="na-456" value="na">n/a</li>
</ul>
<input type="submit">
</form>
答案 0 :(得分:1)
这是你的问题:
$('#assessment-form-<?php echo $id; ?>').submit(function(e) {
alert('It works :)');
});
您要添加一个在提交表单时会触发的事件侦听器,而不是提交表单。
您不应该将任何参数传递给函数:
$('#assessment-form-<?php echo $id; ?>').submit();
参见jQuery manual;您需要触发器方法的快捷方式才能触发表单提交。
答案 1 :(得分:0)
它的属性值应该用引号括起来:
$('input[name="choice-<?php echo $id; ?>]"')
喜欢这个:
$(document).ready(function() {
$('input[name="choice-456"]').change(function() {
alert('It works :)');
$('#assessment-form-456').submit();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="assessment-form-456" method="post" action="">
<ul class="clearfix">
<li>
<input type="radio" name="choice-456" id="t-456" value="yes">Yes</li>
<li>
<input type="radio" name="choice-456" id="f-456" value="no">No</li>
<li>
<input type="radio" name="choice-456" id="na-456" value="na">n/a</li>
</ul>
<input type="submit">
</form>
&#13;