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

标签 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>";

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

最佳答案

最简单(但被认为是不好的做法)是将内联 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>';

但是像 onchange 这样的内联 on* 属性使代码难以调试和维护。 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();
  });
});

关于HTML:在单选按钮检查时提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18564205/

相关文章:

javascript - 使用 chrome 的单个用户不会出现导航菜单

html - <ul> 在 XHTML 和 CSS 中溢出到下一行

html - 固定背景在 Android 上不起作用?

html - img alt 文本很长时不显示

JavaScript 要么 strokeRect 要么 fillRect 模糊取决于翻译

javascript - 我可以在函数调用中写入我的 html 正文内容吗?

python - 谷歌关闭中的文件上传功能?

html - 在 gwt 中使用 html 模板

javascript - Jquery - BBC +/- 按钮

html - tinymce,图像调整大小,使用 css 代替 <img width & height>