2017-04-24 45 views
-1

無論輸入是什麼,我都會得到響應正確沒有得到預期的輸出(javascript和表單)

function vrfy(form){ 
    if(form.user.value="name"){ 
     alert("correct"); 
    } 
    else if(form.user.value!="name"){ 
     alert("incorrect"); 
    } 
} 

我沒有得到任何迴應時,我更換了else ifelse無論是。

這裏是它的HTML的一部分,但我覺得沒有什麼是錯在這裏:

<form method=post> 
    <label for=user>Username:</label> 
    <input name=user type=text> 
    <input type=submit onclick="vrfy(form)" value=login> 
</form> 

有什麼建議?

+5

使用'==',而不是'='進行比較。 '='用於賦值,並且總是返回'true'。 – Filburt

+0

謝謝。請原諒我,如果我已經煩惱你們所有.....我仍然是新來的:p –

+0

這是一個非常常見的錯誤(即使是更有經驗的編碼器) - 也許嘗試採用間距到您的代碼格式,使其更容易發現:'if(form.user.value ==「name」){'。 – Filburt

回答

0

你分配的,而不是比較值(這總是返回true),錯過雙等號:

function vrfy(form) { 
 
    if(form.user.value == "name"){ 
 
    alert("correct"); 
 
    } else if(form.user.value != "name"){ 
 
    alert("incorrect"); 
 
    } 
 
}

+0

是的,這已在評論中註明。沒有必要嘗試和農場代表錯字。相反,投票結束由於錯字造成的題外話題。 – j08691

0

也許有正確的運營商嘗試:

function vrfy(form) { 
    if(form.user.value === "name") { 
     alert("correct"); 
    } else if(form.user.value !== "name") { 
     alert("incorrect"); 
    } 
}