0

就像问题所说的那样,我正在尝试在模态窗口保持状态时从模态窗口中清除表单。我试过了:

if (myDocument.title == "Modal Window") {
    parent.document.getElementById("textbox")
}

(我需要它来处理超过 1 tb 的数据,但只是为了尝试到达那里。没有运气。

它包含在 iFrame 中,所以我尝试了:

if (myDocument.title == "Modal Window") {
    var ifr = document.getElementById("iFrame")
    var form = ifr.document.getElementById("form")
    ClearForm(form)
}

我从另一个 Stack Overflow 答案中窃取的 ClearForm(form) 函数:

function ClearForm(form) {
    $(':input', form).each(function () {
        var type = this.type;
        var id = this.id;
        if (type == 'text' && id != 'text2')
            this.value = "";
    });
}

'text2' 是我们需要保持填充的一个特定 tb。

知道我错过了什么吗?我已经被这个错误困扰了好几个星期了。

4

1 回答 1

0

我希望您的问题是表单位于 iFrame 中 - 大多数浏览器不允许您从父页面修改 iFrame 中的元素,如果它们不是来自同一来源(或者如果服务器设置为否认它,或者如果您正在本地查看页面......请参阅此处了解更多详细信息)

要仔细检查,请尝试将表单标记移动到与模式所在的页面相同的页面中,然后ClearForm从那里运行您的函数。我希望你会发现它有效。

解决此问题的唯一方法是将ClearForm函数包含在 iFrame 页面中,然后从父级触发它。

于 2014-02-19T17:03:24.817 回答