2013-02-02 68 views
0

FRNDS我需要一些幫助.. 在這段代碼我已經驗證了2個文本框。 幫助,我需要的是一旦沒有數據的形式不應該轉到check.php但有一個JavaScript警告框被輸入:無效數據 我需要這在Javascript ...JavaScript表單驗證,如果無效無提交

function f1() 
{ 
    var v1=document.getElementById("uname").value; 
    var v2=document.getElementById("pass").value; 
if(v1=="" || v2=="") 
alert("Please Fill It..!"); 

} 

Username:<input type="text" id="uname" placeholder="username" title="Enter your Username" name="uname"/> 
Password: 
<input type="password" id="pass" placeholder="password" title="Enter your password" name="pass"/> 
<input type="submit" value="Login"/> 
<input type="reset" value="clear"/> 

</form> 
+2

您目前使用的代碼面臨什麼問題? –

+0

究竟是你面臨的問題? –

+0

兄弟我使用<形式行動=「check.php」>連的onsubmit返回false check.php正在執行.... – Bright

回答

1

試試這個:

function f1() 
{ 
    var v1=document.getElementById("uname").value; 
    var v2=document.getElementById("pass").value; 
    if(v1=="" || v2=="") 
    { 
     alert("Please Fill It..!"); 
     return false; 
    } 
} 

與功能的問題是,默認情況下它返回true,提交表單。您需要返回false以防止表單提交。

+0

始終考慮到你的答案提供的說明 –

0

您可以使用屬性onSubmit將在它運行的JavaScript。如果它返回一個值falsy,提交將無法進行,但如果它返回true,提交將會作出修改。

<form method="POST" onSubmit="return f1()"> 
Username:<input type="text" id="uname" placeholder="username" title="Enter your Username" name="uname"/> 
Password: 
<input type="password" id="pass" placeholder="password" title="Enter your password" name="pass"/> 
<input type="submit" value="Login"/> 
<input type="reset" value="clear"/> 

</form> 

F1必須返回truefalse

+0

始終考慮到你的答案 –

+0

提供的描述,但我有給定

所以如果它返回false將PHP代碼運行...? – Bright

+0

不,如果你的f1()返回false,它不會發送http請求。 – spiritwalker

0

您需要註冊您的F1()爲形式的onsubmit事件處理函數。

<form action="formaction" method="post" onsubmit="f1()"> 
Username:<input type="text" id="uname" placeholder="username" title="Enter your Username" name="uname"/> 
Password: 
<input type="password" id="pass" placeholder="password" title="Enter your password" name="pass"/> 
<input type="submit" value="Login"/> 
<input type="reset" value="clear"/> 
</form> 

function f1() 
{ 
    var v1=document.getElementById("uname").value; 
    var v2=document.getElementById("pass").value; 
    if(v1=="" || v2=="") return false; 

} 
+0

但即使驗證失敗的動作仍然在行動 – Bright

+0

如果「返回false」被執行,是沒有辦法的形式可以提交。您可能想要調試到您的表單驗證JavaScript,以確保驗證確實失敗並返回false; – spiritwalker