0

我通过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'));
...

但这是行不通的。

4

2 回答 2

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);
}
});
于 2012-04-08T17:13:42.827 回答
0

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

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

添加准备好无济于事

于 2012-04-08T17:58:37.877 回答