选中radiobox时提交表格

时间:2016-02-10 09:44:20

标签: javascript jquery form-submit

我已经阅读了一些符合此描述的问题,但我仍然在苦苦思索。我已经阅读了这个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>

2 个答案:

答案 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; ?>]"')

喜欢这个:

&#13;
&#13;
 $(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;
&#13;
&#13;