2014-06-27 34 views
0

有人可以告訴我什麼是錯的?JavaScript的onsubmit和2功能錯誤

我想創建一個基本的登錄頁面,只有在正確的密碼寫入

<html> 
<head> 
<script> 
function validateForm() 
{ 
var x=document.forms["myForm"]["fname"].value; 
if (x==null || x=="") 
    { 
    alert("First name must be filled out"); 
    return false; 
    } 
var x=document.forms["myForm"]["fname2"].value; 
if (x==null || x=="") 
    { 
    alert("password must be filled out"); 
    return false; 
    } 
} 

function isValid(myNorm){ 
var password = myNorm.value; 
if (password == "hello_me") 
{ 
return true; 
} 
else 
{alert('Wrong Password') 
return false; 
} 
} 
</script> 
</head> 
<body> 
<form name="myForm" action="helloworld.html" onsubmit="return !!(validateForm()& isValid())" method="post"> 
Login ID: <input type="text" name="fname"> <br /> 
<br> 

Password: <input type="password" name="fname2" > <br /> 

<br /> 
<br /> 

<input type="submit" value="Submit"> 
<input type="Reset" value="clear"> 
</form> 
</body> 
</html> 
+0

什麼錯誤? – imbondbaby

+0

one&missing。應爲 「返回!!(validateForm()&&的isValid())」 – Aneesh

+0

<形式名稱= 「myForm的」 行動= 「的helloworld.html」 的onsubmit = 「返回(validateForm()&的isValid(fname2))」 方法=「POST 「>使用此 – SkyWalker

回答

0

密碼值是在第2個功能undefined因爲調用isValid()功能

,當你不使用任何PARAMS打開
var password = myNorm.value; //`myNorm` is undefined 

var password = document.forms["myForm"]["fname2"].value; 

請參見下面的正確功能

function isValid(myNorm){ 
var password = document.forms["myForm"]["fname2"].value; 
if (password == "hello_me"){ 
    return true; 
} else { 
    alert('Wrong Password') 
    return false; 
    } 
} 

在評論 更新答案,如果值是在功能上validateForm()然後return true有效,見下文

function validateForm() 
{ 
var x=document.forms["myForm"]["fname"].value; 
if (x==null || x=="") 
    { 
    alert("First name must be filled out"); 
    return false; 
    } 
var x=document.forms["myForm"]["fname2"].value; 
if (x==null || x=="") 
    { 
    alert("password must be filled out"); 
    return false; 
    } 

    return true; // return true when input value is value 
} 

FIDDLE DEMO

+0

我沒有你在這裏做什麼,但我現在面臨的問題是動作不工作 –

+0

@ user2771301,請參閱更新的答案,''中返回validateForm TRUE'()'當值有效 – Girish

+0

感謝的人,效果很好 –

0

警報在參考isValid密碼錯誤( )需要分號。 And運營商是& &不是&在提交電話 我只是眼睛代碼 你觀察到了什麼? 您CLD使用即用F12鍵來調試..或Firefox與合適的插件