2017-02-18 76 views
0

我已經編寫了用於客戶端驗證的JavaScript代碼,然後用於後端,我使用了servlet。 Javascript代碼不起作用,並從JSP註冊頁面直接轉到servlet。爲什麼在servlet的操作之前Javascript代碼不工作?

下面是代碼:

function teacherValidateForm() { 
 

 

 

 
    var tuid = document.getElementById("tuname"); 
 

 
    return validateTID(tuid); 
 

 

 
} 
 

 
function validateTID(tuid) { 
 
    var message = "Username must start with a letter and must be of minimum 5 letters"; 
 
    if (!tuid.match(/^[[A-Za-z][A-Za-z0-9/._]*]{5,}$/)) { 
 
    document.getElementById(ti).innerHTML = message; 
 

 
    return false; 
 
    } else return true; 
 
}
<head> 
 
</head> 
 

 
<body> 
 
    <form name="teachersignup" class="form-horizontal" action="tsignup" onsubmit="return teacherValidateForm()" method="POST"> 
 
    <div class="form-group"> 
 
     <label for="tuname" class="control-label col-md-4" style="color:#000; font-size:15px" id="username">User Name: </label> 
 
     <div class="col-md-4"> 
 
     <input type="text" class="form-control" id="tuname" required="true" name="tusername" />&nbsp; <label id="ti"></label> 
 
     </div> 
 
    </div> 
 

 

 
    <div class="col-md-12 text-center"> 
 
     <button type="submit" class="btn btn-success">Submit</button> 
 
    </div> 
 
    </form>

回答

0

你應該寫JS代碼在

的window.onload()

它加載所有的JS文件當窗口打開時

+0

因爲提交按鈕被觸發時將調用該函數。你不需要這樣做。事實上,我幾乎可以說這是錯誤的/與這個問題無關 – ochi

1

這裏的問題是

var tuid = document.getElementById("tuname"); 

將其更改爲

var tuid = document.getElementById("tuname").value;