2013-02-02 39 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