2016-08-09 12 views
1

私のコードに問題があります。 Chromeのコンソールにエラーはありませんが、動作しません。入力したパスワード文字を数えたかったのです。条件は、パスワードが最低6文字でなければならないという条件です。Jqueryパスワード文字数の条件がある場合

$(document).ready(function() { 
 
    $(".submit").click(function() { 
 
    if($('#regform input[type="password"]').val().length > 6) { 
 
     $('.error').html('Must have a min of 6 chars'); 
 
     $('.error').css("display","block"); 
 
    } 
 
    } 
 
}); \t

誰も私のためにそれを説明できますか?

+0

スニペット –

+0

を修正します(ので、我々は要素がexistantていることを確認することができます)だけでなく、あなたのHTMLを表示することができますか? –

+0

私は「Uncaught SyntaxError:予期せぬトークン<"、"どこでも見ることができません! "というエラーにうんざりしていますか? –

答えて

1

たぶん、これはあなたが探しているものです。

HTML

<input type="text" id="password" /> 
<input type="button" class="btnSubmit" value="Submit" /> 
<p class="error"></p> 

jQueryの

$('.btnSubmit').click(function(){ 
    if($("#password").val().length < 6){ 
    $('.error').html('Must have a min of 6 chars'); 
    }else{ 
    $('.error').html('Good to go.'); 
    } 
}); 

JSFiddle:https://jsfiddle.net/Ltnrwt0t/

+0

このコードスニペットは問題を解決するかもしれませんが[説明を含む](// meta.stackexchange.com/questions/ 114762/explain-entire-code-based-answers)は、あなたの投稿の質を改善するのに本当に役立ちます。将来の読者の質問に答えている人で、コード提案の理由を知らない人もいます。あなたのコードに説明的なコメントが詰まっていないようにしてください。これにより、コードと説明の両方の可読性が低下します。 –

+0

ありがとう、私は次の答えを書くときにそれを念頭に置いておきます。彼らはそれほどコードではないので、何が起こっていたのか、彼の間違いがあったのかを推測することは難しくありませんでした。 –

+0

@ ExoSkeleton321ありがとうございました!それは正しいが、私は値を変更するためのコードを持っているので、私はそれのためのIDを作ることができないようにする必要があります。私は_value = "submit" _ –

4

エラーが発生しても、フォームを停止することはないという問題があります。フォームの送信を実際に停止するには、return falseまたはevent.preventDefault()を追加する必要があります。エラーメッセージのポップアップが表示される前に、フォームがただちにactionページに進みますので、エラーは発生しません。

第2に、パスワードの長さがより大きい場合は、が6より大きい場合、エラーが発生します。これは逆にする必要があります。

次にあなたのコードを変更し

$(document).ready(function() { 
    $(".submit").click(function(event) { 

     // SWITCH THE COMPARISON OPERATOR 
     if($('#regform input[type="password"]').val().length < 6) { 
      $('.error').html('Must have a min of 6 chars'); 
      $('.error').css("display","block"); 

      // ADD THIS LINE 
      event.preventDefault(); 

      // OR THIS LINE 
      return false; 

     } 
    }) 
}); 

詳細情報については:

+0

フォームでも' .submit'は何でも構いませんか? – adeneo

+0

@adeneo私はすでにその質問に対するコメントでHTMLを聞いた;返事がなかったので、それはフォームであると推測した(ほとんどの可能性と従来のシナリオ) –

+0

私はストレッチであってもあなたの推測は正しいと推測しているが、多くの理由で動作しないかもしれません。おそらくOPに '.submit'要素がありませんか? – adeneo

関連する問題