使用jQuery更改不同域上iframe的文本框值?

时间:2010-01-26 18:08:20

标签: jquery forms iframe textbox

我有一个页面的iframe,允许人们注册我的电子邮件简报。

我想根据查询字符串网址自动填充iframe中的电子邮件字段(page.html?email = email)

我知道如何处理查询字符串,我只是不确定如果我能够访问框架内的输入文本框。表单或文本框都没有id,只有名称。

我尝试了以下内容..

$("email_frame").contents.find('input[name=email]').append("test");

任何帮助都会很棒。

3 个答案:

答案 0 :(得分:7)

如果从主页面以外的其他域加载IFRAME,则2 无法使用JavaScript或CSS进行交互。

答案 1 :(得分:0)

您可以通过将数据作为

传递来完成此操作
iframe.src = 'otherdomain/frame.html#bob@foo.com'

并将其作为

用于iframe
window.onload = function ()
{
     data = window.location.hash;
}

了解更多详情:http://msdn.microsoft.com/en-us/architecture/bb735305.aspx

答案 2 :(得分:0)

我用来解决这些小问题的一个技巧是向setTimeout()发送一个匿名函数:

var execMe = function() {$("email_frame").contents.find('input[name=email]').append("test");};
var result = setTimeout("execMe", 1000);

免责声明:我不确定这会在这种情况下有效,并且 hacky。使用风险由您自己承担。只是折腾一个想法:)