我在fancybox(2)iframe中进行了测验,完成后我在Fancybox页面的隐藏文本框中保存了一个分数:
<form>
<input type="text" id="theresult" hidden="true"/>
</form>
现在,当用户关闭Fancybox时,我需要为父页面捕获此值,我尝试过:
$('.fancybox1').fancybox({
width: 800,
height: 500,
beforeClose: function () {
var testResult = $("#fancybox-frame").contents().find('input#theresult');
$('#txtTestValue').attr('value', testResult );
}
});
但是这会返回&#34; [object Object]&#34; ...
我做错了什么?!
答案 0 :(得分:2)
由于您使用的是fancybox v2.x ,因此您可能需要定位正确的选择器,所以试试这个
beforeClose : function () {
var testResult = $(".fancybox-iframe").contents().find("#theresult").val();
$('#txtTestValue').attr('value', testResult);
}
注意更改:
$("#fancybox-frame")
......应该是
$(".fancybox-iframe")
...我还添加了.val()
方法。
答案 1 :(得分:1)
您正在存储输入字段。您应该存储输入值:
var testResult = $("#fancybox-frame").contents().find('input#theresult').val();