我有以下表格:
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Choose</title>
<script type="javascript/text">
function ischecked(){
var check = document.getElementsByTagName( 'input' );
for( var i = 0; i < check.length; i++ ){
if( check[ i ].type == 'radio' && check[ i ].checked ){
return true;
}
}
return false;
}
</script>
</head>
<body>
<form method="post" enctype="application/x-www-form-urlencoded" onsubmit="ischecked();">
<h1>Choose</h1>
<p><input type="radio" name="choose" value="psychology"><font size="5" color="#0033CC">Instant Psychology</font><br>
<br>
<input type="radio" name="choose" value="geography"><font size="5" color="#CC0000">Instant Geography</font><br>
<br>
<input type="radio" name="choose" value="gastronomy"><font size="5" color="#660033">Instant Gastronomy</font><br>
<br>
<input type="submit" name="Submit" value="Go"></p>
</form>
</body><link rel="stylesheet" type="text/css" href="data:text/css,"></html>
我想确保在提交表单之前检查了其中一个单选按钮。但是,它不起作用,并且表单仍然是提交的。我在这里做错了什么?
答案 0 :(得分:5)
您需要从内联事件处理程序return
{{1}}函数的结果。
答案 1 :(得分:1)
您必须直接在属性值中检查验证函数中返回的值。也就是说,在HTML表单声明中
<form method="post" enctype="application/x-www-form-urlencoded" onsubmit="ischecked();">
你应该写:
onsubmit="return ischecked();"
而不是:
onsubmit="ischecked();"