Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Knockout.js 当iframe外部的代码更新文本输入时,iframe中文本输入值的敲除绑定无法更新_Knockout.js - Fatal编程技术网

Knockout.js 当iframe外部的代码更新文本输入时,iframe中文本输入值的敲除绑定无法更新

Knockout.js 当iframe外部的代码更新文本输入时,iframe中文本输入值的敲除绑定无法更新,knockout.js,Knockout.js,我发现当来自iframe外部的javascript代码更新文本输入时,iframe中的敲除文本输入值绑定不会更新。这是虫子吗?你知道怎么解决这个问题吗 我使用的是一个javascript UI测试框架,它在iframe中加载正在测试的淘汰页面。测试代码使用jQuery与iframe中的页面交互。当我使用jQuery的$('#myTextInputId).val('blah').change()来更新iframe中的文本框时,敲除绑定不会更新基础视图模型。我这里有一个关于这个问题的工作示例: 样本

我发现当来自iframe外部的javascript代码更新文本输入时,iframe中的敲除文本输入值绑定不会更新。这是虫子吗?你知道怎么解决这个问题吗

我使用的是一个javascript UI测试框架,它在iframe中加载正在测试的淘汰页面。测试代码使用jQuery与iframe中的页面交互。当我使用jQuery的$('#myTextInputId).val('blah').change()来更新iframe中的文本框时,敲除绑定不会更新基础视图模型。我这里有一个关于这个问题的工作示例:

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

有人能帮我想一想怎么避开这件事吗?这是我们的UI自动化策略的一个主要阻塞错误

谢谢!!
Stewart

使用jQuery的父实例触发
change
事件似乎有问题

您应该能够通过以下方式完成此工作:

var myFrame = document.getElementById("myIFrame").contentWindow;
myFrame.$("#insideTextBox").val("testing").change();