[英]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.