0

我的页面中有 iframe 用于将数据保存在数据库中。我validate.js用来验证 iframe 内的字段。如果我验证 iframe 外的字段意味着在同一页面中它的工作。如果我在 iframe 中做同样的事情它不起作用。我想知道validate.js在 iframe 中不起作用吗?
我尝试:

var v = $("#form1").validate({
                    ignore: ':hidden',
                    rules: {
                        txtTitle: { required: true },
                        txtPost: { required: true },
                        txtSummary: { required: true }
                    },
                    messages: {
                        txtTitle: "Please enter a Post Title",
                        txtPost: "Please enter a Post description",
                        txtSummary: "Please enter a Post Summary"
                    }
                });

在按钮单击中,我像这样使用。

 $("#btnPost").live("click", function() {
                    if (v.form()) {
                     alert("Success");
                    }
                    else {
                    alert("fail");
                        return false;
                    }
                });

note:txtTitle,txtPost,txtSummary,btnPost all are iframe controls.谢谢。

4

1 回答 1

0

您很可能在不同的域上使用 iFrame。jQuery 不会遍历 iFrame,因为它违反了浏览器的跨站点策略。如果是这种情况,您将无法触摸内部 DOM。

一个解决方案是绑定到 DOM 事件,但在不知道您的表单代码的情况下,我将无法为您的问题提供准确的解决方案。大概会是这样的:

$("#form1").contents().onclick = function() { // validate here };
于 2012-05-15T06:09:01.167 回答