我有这样的表格:
<form id="frm_register" action="register.php" method="post" onsubmit ="return register_user()">
<label for="txtuname" style="display: block; width: 80px; float: left;">Username: </label>
<input id="txtuname" name="ntxtuname" type="text" style="" /><br /><br />
<label for="txtupwd" style="display: block; width: 80px; float: left;">Password: </label>
<input id="txtupwd" name="ntxtupwd" type="password" style="" /><br /><br />
<label for="txtuemail" style="display: block; width: 80px; float: left;">Email: </label>
<input id="txtuemail" name="ntxtuemail" type="text" style="width:200px;" /><br /><br />
<label for="txtpayza" style="display: block; width: 80px; float: left;">Payza: </label>
<input id="txtpayza" name="ntxtpayza" type="text" style="width:200px;" /><br /> <br />
<input type="submit" value="Register" style="margin-left: 250px;"/>
</form>
在提交之前验证表单的JavaScript函数:
<script type="javascript/text">
function register_user() {
if(document.frm_register.ntxtuname.value=='') {
alert('wrong');
return false;
}
return true;
}
</script>
但是表单仍然提交并且没有进行验证。这张照片有什么问题?
答案 0 :(得分:1)
您的代码将在修复2个错误后生效,该错误已在jsFiddle上验证。
<强>第一强>:
<script type="javascript/text">
应该是:
<script type="text/javascript">
否则将无法识别Javascript代码。
<强>第二强>:
document.frm_register
应该是:
document.getElementById("frm_register")
或:
document.forms.frm_register
否则将是未定义的。
答案 1 :(得分:0)
为什么要通过表单搜索文本框值?
而不是这个
if(document.frm_register.ntxtuname.value=='')
你可以这样做
if(document.getElementById("ntxtuname").value==="")
答案 2 :(得分:0)
尝试设置要在点击提交按钮时调用的验证
<input type="submit" value="Register"
style="margin-left: 250px;" onclick="return register_user()"/>
这应该照顾它。