0

我有这个表格:

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

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

4

3 回答 3

1

您的代码将在修复 2 个错误后工作,这已在jsFiddle上得到验证。

首先

<script type="javascript/text">        

应该:

<script type="text/javascript">

否则无法识别 Javascript 代码。

第二

document.frm_register

应该:

document.getElementById("frm_register")

或者:

document.forms.frm_register

否则它将是未定义的。

于 2013-02-24T05:41:53.187 回答
0

为什么要通过表单搜索文本框值?

而不是这个

if(document.frm_register.ntxtuname.value=='')

你可以这样做

if(document.getElementById("ntxtuname").value==="")
于 2013-02-24T05:39:11.260 回答
0

尝试将验证设置为单击提交按钮时调用

<input type="submit" value="Register" 
         style="margin-left: 250px;" onclick="return register_user()"/>

这应该照顾它。

于 2013-02-24T05:46:06.340 回答