如何使用iframe的Jquery.Validate插件?

时间:2009-09-24 23:23:56

标签: javascript jquery

我有一个名为JhtmlArea的Rich Html编辑器,它在textarea上创建了一个iframe。我在这个textarea上有一个验证集,但由于JhtmlArea生成一个iframe,它隐藏了textarea,并且没有插入任何内容。

所以我的验证永远不会激发。那么如何使用jquery.validate验证iframe?

http://jhtmlarea.codeplex.com/

2 个答案:

答案 0 :(得分:0)

您要验证用户是否将textarea留空?我想是的。

您有两种方法可以进行IMO。我猜测你会有一个“提交”按钮,所以在这个方面:

  • 您可以将进入iframe的每个关键事件复制到textarea,因此单击提交按钮就像您直接在textarea中书写一样; (提防表现)
  • 点击提交按钮后,立即调用将iframe内容复制到textarea的方法。

我还没有检查你的应用来源,所以我不知道iframe是否真的是最好的方法。

答案 1 :(得分:-1)

将另一个隐藏文字字段放在现有表格中

像这样

<input type="text" name="txt_field" id="txt_field" class="validate[required]" value="" style="display:none;"/>

这将是表格

的一部分

所以对此字段应用验证,该字段已链接到iframe

您只需根据iframe中的内容设置其值

如果iframe有一些内容,则设置隐藏文本字段的值,如果iframe中的内容为空,则将其设置为空

$("#form_id").validationEngine({'custom_error_messages': {
            '#txt_field': {
                'required': {
                    'message': "validation message goes here"
                }
            }
    }
});


    $('#form_submit_btn').click(function() {
            var message = $.trim($("#iframe_id").contents().find("body").text());
            if (message != '') {
                $("#txt_field").val($("#iframe_id").contents().find("body").html());
            }
            else{
                $("#txt_field").val('');
            }
    });