我通过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'));
...
但这不起作用。
答案 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');
});
添加就绪帮助