2013-02-24 128 views
0

我有這種形式:JavaScript函數沒有驗證的形式

<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

你知道這是做什麼document.wrapper.page.content.frm_register – 2013-02-24 05:33:54

回答

1

您的代碼將工作。

首先

<script type="javascript/text">   

應該是:

<script type="text/javascript"> 

否則Javascript代碼將無法識別。

document.frm_register 

應該是:

document.getElementById("frm_register") 

或:

document.forms.frm_register 

否則將是不確定的。

0

爲什麼要通過表單搜索文本框的值?

取而代之的是

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

你可以做固定2個錯誤,已覈實jsFiddle在此之後

if(document.getElementById("ntxtuname").value==="") 
0

嘗試設置驗證要對提交布通

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

這應該照顧它的點擊調用。