2012-02-07 9 views
0

以下のフォーム検証でどこが間違っているのかアドバイスできますか?Jquery - 複数の入力ボックスシナリオのIf文

基本的に名前変数に何も含まれていない場合は、入力ボックスに「あなたの名前を入力してください」と表示しますが、再送信してもまだ名前を追加していない場合は、まだ検証していません。

それは私のナットを運転しています - 喜んで受け取ったすべての助け!

乾杯 ポール

if((names.length == 0) || (names != 'Please Enter Your Name')){ 
     var error = true; 
     $('.error').fadeIn(500); 
     $('.nStar').fadeIn(500); 
     $('#name').val('Please Enter Your Name'); 

    }else{ 
     setTimeout("errorOut()",1000); 
     $('.nStar').fadeOut(500); 

    } 
+0

このonsubmitを実行している場合は、検証に失敗した場合はfalseを返す必要があります。あなたのコードの残りの部分を見て参考になるでしょう。 – j08691

+0

上記のコードについては、正確には何が動作していませんか? –

答えて

0

ifの入力は、入力の値がPlease Enter Your Nameでないかどうかを確認しています。私はそれがあるかどうかを確認したいと思う。

このライン:

if((names.length == 0) || (names != 'Please Enter Your Name')){ 

がに変更する必要があります。

if((names.length == 0) || (names == 'Please Enter Your Name')){ 

これはnames変数はinput要素の値で構成されていることを想定しています。

1

その後、namesが有効であるnames != 'Please Enter Your Name'場合becouse ==if状態で!=を交換する必要があります。

1

これにはhtml5という新しい属性があります。プレースホルダ属性を「あなたの名前を入力してください」に設定すると、入力領域に表示され、フォーカスすると消えてしまい、投稿に送られません。

あなたの本当の質問に答えるには、if文で(names == 'あなたの名前を入力してください)'(名前== 'あなたの名前を入力してください')を変更すると、または名前がでない場合は 'あなたの名前を入力してからエラーを表示してください。あなたはそれをisに変更したいです。