HTML:在单选按钮检查时提交表单

新手上路,请多包涵

我有一个显示两个单选按钮的表单(使用 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>";

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

原文由 Juicy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 206
2 个回答

您可以使用 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>

原文由 Charaf JRA 发布,翻译遵循 CC BY-SA 3.0 许可协议

最简单 的(但被认为是不好的做法)是将内联 onchange="this.form.submit();" 属性附加到您的输入元素,例如:

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

但内联 on* 属性如 onchange 使代码难以调试和维护。 JavaScript 应该只在一个地方,那就是相应的脚本标签或文件。因此,这是 更好 的建议:

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

 const elForm = document.querySelector("form[action='next.php']");
const elsRadio = elForm.querySelectorAll("input[type='radio']");

elsRadio.forEach((elInp) => {
  elInp.addEventListener("change", () => {
    elForm.submit();
  });
});

原文由 Roko C. Buljan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题