2016-08-09 22 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

你能告訴你的HTML以及(這樣我們就可以確保該元素是existant)? –

+0

我被錯誤'Uncaught SyntaxError:Unexpected token <「,'因爲我看不到它在任何地方!' –

回答

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-completely-code-based-answers)確實有助於提高帖子的質量。請記住,你正在回答未來讀者的問題,這些人可能不知道你的代碼建議的原因。 e也儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! –

+0

謝謝,我會在寫下我的下一個答案時記住這一點。由於他們的代碼並不多,所以我不難推斷出發生了什麼事以及他的錯誤是什麼。 –

+0

@ ExoSkeleton321非常感謝您的回答!這是正確的,但我不需要爲它做一個ID因爲我們有一個改變值的代碼。我想我需要得到的代碼_value =「提交」_ –

4

問題是沒有什麼可以阻止表單,即使發生錯誤也是如此。您需要添加一個return falseevent.preventDefault()以實際停止發送表單。您不會收到錯誤,因爲表單會立即顯示在action頁面,然後您會看到彈出的錯誤消息。

其次,如果密碼長度爲大於,則您的條件會引發錯誤。這應該顛倒過來。

你的代碼更改爲以下:

$(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