2012-10-05 46 views
-1

只要我點擊提交按鈕,它會觸發alert("empty username")但我會去指導checklogin.php ...我如何避免這種情況,並讓它保持在頁面上,除非字段不是空?阻止表單發佈,直到滿足javascript代碼

</body> 
</html> 
<script type="text/javascript"></script>  
function RequiredFields(){ 
    var username=document.forms["login"]["username"].value; 


    if (username==""||username==null){ 
     alert("empty username") 
     document.login.username.focus(); 
     if(document.all||document.getElementById){ 
      return false; 
     } 

    } 
} 
</script> 
<form action="checklogin.php" method="POST" onSubmit="RequiredFields()"> 
Username<input type="text" name="username"/> 
Password<input type="password" name="password"/> 
<input type="submit" value="Login" /> 
</form> 
</body> 
</html> 
+2

*使用您可以發佈你的HTML *實際? –

+0

我不明白這應該如何工作,因爲你不是在調用函數,但我認爲解決方案是圍繞添加一個onclick的提交返回false,如果字段爲空 – njzk2

回答

1

使用此代碼

<input type="submit" value="Login" onclick="return RequiredFields()" /> 
+0

是否有區別使用' onclick'而不是'onsubmit'和其他答案一樣嗎? – Barmar

+0

當點擊按鈕時,onclick會被調用。當用戶按下回車鍵時,onsubmit也會被調用。這就是爲什麼你應該主要(如果不是總是)在檢查提交按鈕時使用onsubmit。 – Zulakis

2
在提交輸入

您可以將onsubmit的事件處理程序是這樣的:

<input type="submit" value="submit form" onsubmit="return RequiredFields();"/> 

的使用requiredfields將返回false,如果不是所有的必填字段是充分和提交過程將停止。

2

如果您更改提交,它將不會提交,如果RequiredFields返回false

<input type="submit" value="Login" onsubmit="return RequiredFields();"/> 
0

我想,這可能會奏效。

function xyz(event) 
    { 
     event.preventDefault(); // while the function returns false 
    } 

也可能會使用HTML5屬性需要避免JavaScript的覆蓋層。 < * INPUT TYPE = 「」 需要> *

相關問題