繁体   English   中英

如果未选中单选按钮,如何不提交表单

[英]How not to submit a form if no radio button is checked

我使用 PHP 来创建 HTML 表单。
该表单有 3 个单选按钮和一个提交按钮。
在表单的初始 state 中,没有选中任何单选按钮。
如果未选中任何单选按钮,我想让表单不提交。
有没有办法做到这一点? 我附上了 PHP 代码的一部分。

    for($i=0; $i<$nChoices; $i++) {
$Text='<input type="radio" name="answer" value="' . $IdChoices[$i] . '"';
$Text.=">  ". $Choices[$i] . "</input>";
$choiceoutput.= $Text."<br /><br />";
}

谢谢!

此 javascript 可用于简单的客户端验证。 仅在客户端进行验证是不安全的,但如果您的目的是查看用户是否实际选择了一个值,则可以这样做。 否则,需要在您的 php 脚本中进行进一步验证。

<script type="text/javascript">
function validate()
{
  var retval = false;
  for (var i=0; i < document.myForm.r.length; i++)
  {
    if (document.myForm.r[i].checked)
    {
      retval = true;
    }
  }  

  return retval;
}
</script>

使其工作的简单形式。

<form name="myForm" action="page.php" onsubmit="return validate()" method="post">
<input type="radio" id="r">
<input type="radio" id="r">
<input type="submit" value="ok">
</form>

您应该使用 javascript 验证,拦截提交并检查是否选中了某个按钮。 但请记住,您还必须在服务器端进行验证,因为可以省略 JS。

或者,如果您不关心广泛的浏览器支持 - HTML5 支持表单约束验证( https://developer.mozilla.org/en/HTML/HTML5/Forms_in_HTML5

<input type="submit" value="Submit" name="B1" disabled="disabled">

以上是禁用提交按钮的示例。 一旦用户选中您希望他们检查的复选框,您将不得不使用 JavaScript 从提交按钮中删除 disabled="disabled" 属性。

http://www.techchorus.net/disable-and-enable-input-elements-div-block-using-jquery

有一点阅读内容应该可以让您更好地理解逻辑::)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM