选中单选框时提交表单
Submit form when a radiobox is checked
我已经阅读了一些符合此描述的问题,但我仍在苦苦挣扎。我读过这个 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>
这是你的问题:
$('#assessment-form-<?php echo $id; ?>').submit(function(e) {
alert('It works :)');
});
您没有提交表单,而是添加了一个将在提交表单时触发的事件侦听器。
您不应向函数传递任何参数:
$('#assessment-form-<?php echo $id; ?>').submit();
见jQuerymanual;您需要触发方法的快捷方式才能触发表单提交。
它的属性值应该用引号引起来:
$('input[name="choice-<?php echo $id; ?>]"')
喜欢这个:
$(document).ready(function() {
$('input[name="choice-456"]').change(function() {
alert('It works :)');
$('#assessment-form-456').submit();
});
});
<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>
我已经阅读了一些符合此描述的问题,但我仍在苦苦挣扎。我读过这个 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>
这是你的问题:
$('#assessment-form-<?php echo $id; ?>').submit(function(e) {
alert('It works :)');
});
您没有提交表单,而是添加了一个将在提交表单时触发的事件侦听器。
您不应向函数传递任何参数:
$('#assessment-form-<?php echo $id; ?>').submit();
见jQuerymanual;您需要触发方法的快捷方式才能触发表单提交。
它的属性值应该用引号引起来:
$('input[name="choice-<?php echo $id; ?>]"')
喜欢这个:
$(document).ready(function() {
$('input[name="choice-456"]').change(function() {
alert('It works :)');
$('#assessment-form-456').submit();
});
});
<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>