2011-09-09 86 views
0

我有一個叫new.js.erb文件,其中包含此行:比較運算

if($('#user_password').val().length < 6) 

出於某種原因,小於號打破了整個文件。我認爲Rails將<符號視爲某個標籤的開頭。我只想檢查user_password字段中的值是否具有小於6的字符串長度。有沒有辦法在js.erb文件中的jQuery中執行此操作?

令人驚訝的是,我所有的Google搜索都沒有找到解決方案。

如果您需要更多的信息,請不要猶豫,要求它。

謝謝你的幫助!用於畝

更多代碼(我可以保證一切之上,這組下方是工作的罰款):

 if($('#user_password').text().length < 6) 
     { 
      $('form.edit_user').submit(); 
      popup.unload(); 
      $('#send_after_pass').show(); 
      $('#send_after_pass').click(function(e) { 
       $(this).hide(); 
       $('form.new').submit(); 
      }); 
     else 
     { 
      $('#errors').html("Password must be 6 characters or longer."); 
     } 

編輯:我的仿冒者報價壞了!假裝它永遠不會在那裏......但這不是我造成的問題。

+1

你正在混合服務器上解釋的ruby代碼和需要客戶端的js代碼。 – apneadiving

+0

爲什麼你有「在開始時如果?而不是結束。整個代碼塊沒有對我說什麼 – Smar

+0

@apnea潛水,這就是.js.erb文件應該做的,讓你創建後的JS文件 –

回答

1

我沒有看到任何ERB在您發佈的代碼,但缺少一個右括號,你的代碼應該看起來更像是這樣的:

if($('#user_password').text().length < 6) 
    { 
     //... 
    } 
    else 
    { 
     $('#errors').html("Password must be 6 characters or longer."); 
    } 

注意右括號我上面添加你的else

+0

謝謝!我用我的新手錯誤恥辱地hang住了我的頭...... – batch

+0

@batch:不用擔心,整天盯着這個bug說「這不可能是那個」只是工作的一部分。 –

+0

畝正在看:) – apneadiving

0

爲什麼不試圖扭轉這種情況,像這樣,看看它是否確實是運營商?

if (6 > $('#user_password').val().length) 
+0

沒有骰子。我知道我可以和==做比較,這只是< and >跡象,似乎是一個問題。 – batch

+0

好吧,我無法在.js.erb文件中使用Rails 3.1.0重現該特定錯誤。甚至甚至實施完全相同的if-clause – Rhywden