2012-03-12 56 views
1

以下jQuery工作得很好,現在我試圖展示成功消息,但是我無法使其工作。這是我的嘗試。jQuery表單驗證,顯示成功消息

  jQuery("#name").validate({ 
       expression: "if (VAL.length > 5 && VAL) return true; else return false;", 
       message: "Please enter more than 5 characters", 
       success: function() { 
       $(this).toggleClass("ok"); 
       } 
      }); 

我想顯示一個div的類'好'。

這是div

<div class="ok"> OK! </div> 

,這是CSS

.ok { display: none; color: green; } 
+1

您是否使用此處定義的驗證插件? http://docs.jquery.com/Plugins/Validation/validate#options – 2012-03-12 20:57:19

+0

@WalterStabosz我不認爲這是驗證插件,或者如果是這樣,我沒有看到這個'expression'選項的任何引用。 .. – Ryley 2012-03-13 16:05:40

+0

@Ryley我也注意到'表達'選項。我想我們只能等待馬爾滕澄清。 – 2012-03-13 16:20:00

回答

2

如果我理解正確的,你是非常接近!

只是給你的div一個id:

<div id="successMessage" class="ok"> OK! </div> 

然後在您的驗證,而不是使用此,通過ID選擇您的div:

$("#successMessage").show(); 
+0

你好,感謝你的回答,請閱讀上面的評論! :) – 2012-03-12 20:32:49

4
.ok { color: green; } 

刪除顯示:沒有從你的CSS ,(將其移動到DIV的樣式屬性,以便您可以使用jQuery切換)

<div id="successMessage" style="display:none;" > OK! </div> 

然後,讓你的成功方法:

success: function() { 
    $('#successMessage').show(); 
} 

我不知道validate()方法很好,所以我不知道什麼$(這)是指成功方法裏面,所以我用一個ID選擇器。請參閱show的文檔。

+1

這是要走的路(刪除我的答案)。 – ramblinjan 2012-03-12 20:34:07

+0

我真的很感謝你的努力,但它仍然無法正常工作。恐怕問題在別的地方。將繼續,謝謝! – 2012-03-12 20:41:30