Javascript函数未验证表单

时间:2013-02-24 05:32:02

标签: javascript html

我有这样的表格:

<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>

但是表单仍然提交并且没有进行验证。这张照片有什么问题?

3 个答案:

答案 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()"/>

这应该照顾它。