2011-09-29 65 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