I think maybe you want element.is("textarea") (no colon)
Otherwise that part of the conditional will never fire.
-- Josh
----- Original Message -----
From: "shapper" <[EMAIL PROTECTED]>
To: "jQuery (English)" <jquery-en@googlegroups.com>
Sent: Tuesday, June 24, 2008 4:23 PM
Subject: [jQuery] Re: [validate] Validation Plugin issue when using TinyMCE
You mean the { after the else? Yes, I noticed that before.
I keep having the same problem. The form is not validated when I use
errorPlacement.
I am using:
$("#New").validate({
errorClass: "Error",
errorElement: "label",
errorPlacement: function(error, element) {
if (element.is(":textarea"))
error.insertAfter(element.next());
else
error.insertAfter(element);
},
rules: {
Answer: {required: true},
Question: {required: true}
},
messages: {
Answer: {required: "Insert an answer"},
Question: {required: "Insert a question"}
}
});
Any idea?
Thanks,
Miguel
On Jun 24, 11:18 pm, "Jörn Zaefferer" <[EMAIL PROTECTED]>
wrote:
There was a syntax error in the errorPlacement, try this:
errorPlacement: function(error, element) {
if (element.is(":textarea"))
error.insertAfter(element.next());
else
error.insertAfter(element);
},
On Tue, Jun 24, 2008 at 11:36 PM, shapper <[EMAIL PROTECTED]> wrote:
> Hello,
> I have been trying to make JQuery Validation with TinyMCE and until
> now I wasn't able to do this. I have 2 text areas converted to
> TinyMCE. I am using:
> $("#New").validate({
> errorClass: "Error",
> errorElement: "label",
> errorPlacement: function(error, element) {
> if (element.is(":textarea"))
> error.insertAfter(element.next());
> else {
> error.insertAfter(element);
> },
> rules: {
> Answer: {required: true},
> Question: {required: true}
> },
> messages: {
> Answer: {required: "Insert an answer"},
> Question: {required: "Insert a question"}
> }
> });
> Using this code does not even validate. The form is submited. If I
> remove the errorReplacement part then it works but the error message
> is out of place.
> I tried many options but until now I wasn't able to make this work.
> Any idea how to solve this?
> Thanks,
> Miguel
> On Jun 24, 3:01 pm, "Jörn Zaefferer" <[EMAIL PROTECTED]>
> wrote:
>> How about this:
>> errorPlacement: function(error, element) {
>> if (element.is(":textarea"))
>> error.insertAfter(element.next());
>> else {
>> error.insertAfter(element);
>> }
>> Jörn
>> On Tue, Jun 24, 2008 at 2:18 PM, shapper <[EMAIL PROTECTED]> wrote:
>> > Hello,
>> > I checked the markup used by TinyMCE and it is something as follows:
>> > <label for="Question">Question</label>
>> > <textarea id="Question" cols="20" rows="10" name="Question"
>> > style="display: none;"/>
>> > <span id="Question_parent" class="mceEditor BonsAlunosSkin">
>> > <table id="Question_tbl" class="mceLayout" cellspacing="0"
>> > cellpadding="0" style="width: 538px; height: 175px;">
>> > <tbody>
>> > .....
>> > </tbody>
>> > </table>
>> > </span>
>> > So the textarea is disabled and replaced by a span and table ...
>> > I then changed my validation code to:
>> > $("#New").validate({
>> > errorClass: "Error",
>> > errorElement: "label",
>> > rules: {Question: {required: true}},
>> > errorPlacement: function(error, element) {
>> > if (element.is(":textarea"))
>> > error.appendTo(element.parent().next().next('textarea'));
>> > }
>> > });
>> > This is not working. Could you, please, tell me what am I doing
>> > wrong?
>> > I also tried with table but no success.
>> > On Jun 23, 9:57 am, "Jörn Zaefferer" <[EMAIL PROTECTED]>
>> > wrote:
>> >> Most likely TinyMCE creates a new element and places it after the
>> >> textarea, hiding the former. Use the errorPlacement-option to
>> >> customize the placement for that case.
>> >> Jörn
>> >> On Mon, Jun 23, 2008 at 1:54 AM, shapper <[EMAIL PROTECTED]> wrote:
>> >> > Hello,
>> >> > I have the following rules:
>> >> > $("#New").validate({
>> >> > errorClass: "Error",
>> >> > errorElement: "label",
>> >> > rules: {Answer: {required: true}},
>> >> > });
>> >> > Applied to text area:
>> >> > <label for="Answer" class="Required">Resposta</label>
>> >> > <textarea name="Answer" rows="10" cols="20" id="Answer"></
>> >> > textarea>
>> >> > This works fine. The error labels shows after the TextArea.
>> >> > The moment I use TinyMCE (http://tinymce.moxiecode.com/) to make
>> >> > the
>> >> > Text Area an HTML WYSIWYG editor I get a problem:
>> >> > The error label shows before the text area and after the label!
>> >> > Any idea what might be wrong? How can I solve this?
>> >> > Thanks,
>> >> > Miguel