使用ajax加载的iframe内容做一些事情?

时间:2012-04-08 16:25:11

标签: jquery ajax iframe

我通过fancybox将一些内容(简单的网络表单)加载到iframe(来自我的域名)。并希望在此iframe表单中为一个输入添加值。

试试这个:

$x("a.load_html_i").fancybox({
'type'              :'iframe',
'padding'           : 20,
'width'             : 690,
'height'            : 550,
'onComplete'        : function() {
$x('#fancybox-frame input[name=input_text_0]').val($x(this).attr('title'));
}
});

其中#fancybox-frame是iframe的id。

而且:

...
$x("#fancybox-frame").contents().find("input[name=input_text_0]").val($x(this).attr('title'));
...

但这不起作用。

2 个答案:

答案 0 :(得分:0)

不使用'this'关键字,而是通过它的类名引用锚点。我相信'this'正在引用fancybox实例化。

$x("a.load_html_i").fancybox({
'type'              :'iframe',
'padding'           : 20,
'width'             : 690,
'height'            : 550,
'onComplete'        : function() {
//cache the anchor
var anchor = $x(this);
//trigger the following function in 0.5s (should be long enough)
   setTimeout(function(){
      $x('#fancybox-frame input[name=input_text_0]').val(anchor.attr('title'));
   }, 500);
}
});

答案 1 :(得分:0)

我发现了一个问题:jquery在加载iframe之前运行。如何改进?

$x("iframe#fancybox-frame").ready(function(){
                $x("iframe#fancybox-frame").contents().find("input[name=input_text_0]").val('hh');
            });

添加就绪帮助