如何在iframe中编辑表单

时间:2013-10-12 08:55:53

标签: javascript jquery html iframe

您好我有一个表单,我用jquery给一个值提交按钮,它工作正常。

jQuery('#frm_f_container.with_frm_style .submit input[type="submit"]').val('');

现在表单代码放在wp super pop up pro中。当我用firebug检查时,它是一个弹出的插件,它包含iframe

同样的jquery没有工作,所以我按照iframe的建议尝试contents()但是这里也没有设置按钮值是我试过的代码

jQuery('.sppro_cboxIframe').contents().find('#frm_f_container.with_frm_style .submit input[type="submit"]').val('');

此处.sppro_cboxIframe是使用iframe放置的类

<iframe class="sppro_cboxIframe" frameborder="0" name="sppro_cbox1381566909072" src='url'>

当我查看源代码时,我无法像上面那样看到iframe。

现在如何更改或添加其中的表单的值。任何帮助都会很感激。

3 个答案:

答案 0 :(得分:0)

您将无法使用javascript从iframe外部操纵iframe内的元素。有关相同的原产地政策,请参阅此答案:

jQuery/JavaScript: accessing contents of an iframe

检查该插件是否允许您将jQuery传入iframe。这是你操纵iframe中元素的唯一方法。

答案 1 :(得分:0)

假设 jQuery $内定义为<iframe>,传递same origin,并且<iframe>内的页面已开始加载,可以通过contentWindow属性获取HTMLIFrameElement Window 引用。

// get the <iframe> and then it's contentWindow
var iWin = document.getElementsByClassName('sppro_cboxIframe')[0].contentWindow;
// now to use jQuery inside <iframe>
iWin.$.find('#frm_f_container.with_frm_style .submit input[type="submit"]').val('');

答案 2 :(得分:0)

您的代码很好,这是演示:http://jsfiddle.net/T86yw/

jQuery('.sppro_cboxIframe').contents().find('#frm_f_container.with_frm_style .submit input[type="submit"]').val('New Value');

问题出在其他地方。正如你所说的两个页面都有相同的来源,另一件要检查的是你在运行代码时是否已经加载了iframe。