8

我有一个显示两个单选按钮的表单(使用 PHP)。

echo "<form action=\"next.php\" method=\"post\">";
   echo "<input type=\"radio\" name=\"paid\" value=\"0\" checked=\"checked\">No<br>";
   echo "<input type=\"radio\" name=\"paid\" value=\"1\">Yes<br>";
echo "</form>";

默认情况下始终选中其中一个单选按钮。如果用户选中另一个单选按钮,我希望表单自行提交(无需用户单击提交按钮)。

4

3 回答 3

32

您可以将其附加到您的输入中:

onchange='this.form.submit();'

喜欢:

echo "<form action=\"next.php\" method=\"post\">";
   echo "<input onchange='this.form.submit();' type=\"radio\" name=\"paid\" value=\"0\" checked=\"checked\">No<br>";
   echo "<input onchange='this.form.submit();' type=\"radio\" name=\"paid\" value=\"1\">Yes<br>";
echo "</form>";

演示

于 2013-09-02T00:31:06.447 回答
16

您可以使用 jQuery 执行此操作(将代码放在</body>标签内):

<script type='text/javascript'>

 $(document).ready(function() { 
   $('input[name=paid]').change(function(){
        $('form').submit();
   });
  });

</script>

在这里演示

要将 jQuery 添加到您的页面,请将此行放在<head>标签内:

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'>
</script>
于 2013-09-02T00:25:47.207 回答
2

使用 onchange 监听器:

$("#paid").change(function(){
alert("test");
});

你只需要给你的单选按钮一个 id 就可以了。ID 可以与名称相同,以保持简单。

于 2013-09-02T00:30:08.940 回答