2011-09-29 54 views
1

我有以下表單字段...jQuery的驗證textarea的:充滿

<textarea name="anchors[]" id="anchors1" cols="45" rows="5" class="linkbox"></textarea> 
<textarea name="anchors[]" id="anchors2" cols="45" rows="5" class="linkbox"></textarea> 
<textarea name="urls[]" id="urls1" cols="45" rows="5" class="linkbox"></textarea> 
<textarea name="urls[]" id="urls2" cols="45" rows="5" class="linkbox"></textarea> 

我敢試圖驗證,這樣,如果anchors2填充說出來的話urls2也必須填補,但是我不能爲我的生命得到了以下的工作!...

var validator = $("#projectform").validate({ 
    rules: { 
     project_label: "required", 
     keywords: "required", 
     urls2: { required: "#anchors2:filled" } 
    }, 
    messages: { 
     project_label: "Enter a project label", 
    } 
    ,errorElement: "div" 
    ,submitHandler: function(form) { 
     $('input[type=submit]').attr('value', 'Please wait'); 
     $('input[type=submit]').attr('disabled', 'disabled'); 
     this.form.onsubmit(); return false; 
    } 

}); 

當我點擊提交project_label和關鍵字字段驗證(或沒有),正如所預料的,但是我什麼也看不到有關於錨點[]和urls []字段。我已經在textarea.error上設置了css來給出一個可視化的指示,但是當我嘗試驗證時,我沒有看到這一點。

應該指出的是,以下也不起作用,這可能會有一些亮點?

urls1: "required", 
+0

什麼是你整個.validate()的代碼是什麼樣子?你看到的行爲是什麼? –

+0

更新完整的驗證()和行爲:) – IainW

回答

2

驗證插件,您需要使用的元素,而不是ID。爲了做到這一點,我不得不改變名稱來刪除[]。因此,重命名您的文字區域,然後再次嘗試 - 就像這樣:

HTML:

<textarea name="url2newname" id="urls2" cols="45" rows="5" class="linkbox"></textarea> 

JavaScript代碼段:

rules: { 
     project_label: "required", 
     keywords: "required", 
     urls2newname: { required: "#anchors2:filled" } 
    } 
+0

理想情況下,我希望它也能反向工作,但更大的問題是,我無法讓它與單一規則一起工作。 – IainW

+0

請發佈您的整個validate()調用,並描述您所看到的行爲。 –

+0

工作,謝謝!我認爲這意味着我們不能發送多維數組到PHP然後這樣,不是一個巨大的問題,但我可以重做服務器端腳本:) – IainW