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
>

Reply via email to