2017-04-24 14 views
-1

と入力がどのようなものであれ、正しいという応答が得られます。期待された出力が得られません(javascriptおよびフォーム)

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

私はどちらかelseelse ifを交換したとき、私は、任意の応答を取得できませんでした。ここで

はそれの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"); 
    } 
} 
比較のため
関連する問題