0

我发现当 iframe 外部的 javascript 代码更新文本输入时,iframe 中的剔除文本输入值绑定不会更新。这是一个错误吗?关于如何解决这个问题的任何想法?

我正在使用一个 javascript UI 测试框架来加载在 iframe 中测试的淘汰赛页面。测试代码使用 jQuery 与 iframe 中的页面进行交互。当我使用 jQuery 的 $('#myTextInputId).val('blah').change() 更新 iframe 中的文本框时,敲除绑定不会更新底层视图模型。我在这里有这个问题的工作示例:http: //stewartarmbrecht.droppages.com/myhtmlpage.html

在示例中有 2 个 iframe。
第一个 iframe 加载一个带有文本框和保存按钮的页面,该按钮在文本框值不为空时显示。第一个 iframe 页面内的代码使用 jquery 来更新它自己的文本输入。保存按钮会自行显示。
第二个 iframe 加载相同的页面,但这次 iframe 内的代码不会更新文本框。相反,父窗口中的 javascript 会更新文本框的值。问题是第二个 iframe 中的保存按钮在更新后没有显示。我发现,当它由 iframe 之外的代码引发时,淘汰绑定不响应更改事件。

谁能帮我弄清楚如何解决这个问题?这是我们的 UI 自动化策略的主要阻塞错误。

谢谢!!斯图尔特

4

1 回答 1

0

change使用父级的 jQuery 实例触发事件似乎存在问题。

您应该能够使用以下方法完成这项工作:

var myFrame = document.getElementById("myIFrame").contentWindow;
myFrame.$("#insideTextBox").val("testing").change();
于 2013-06-25T13:51:14.590 回答