Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery显示和加载iframe_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery显示和加载iframe

Javascript 使用jQuery显示和加载iframe,javascript,jquery,Javascript,Jquery,我有一个页面,它加载一个iframe,其中包含同一个域上的一个表单,该表单在用户单击按钮之前是隐藏的,该按钮调用jQuery slideToggle来显示/隐藏它。 当用户提交表单时,它会在iframe中加载一个“谢谢”页面。然后,如果用户再次单击按钮,jQuery将检查iframe body元素的ID以查看表单是否存在,如果不存在,则加载表单iframe并显示它 我得到的代码在Chrome上运行,但在Firefox上失败了; 控制台中的错误消息=>TypeError:frames['form-

我有一个页面,它加载一个iframe,其中包含同一个域上的一个表单,该表单在用户单击按钮之前是隐藏的,该按钮调用jQuery slideToggle来显示/隐藏它。 当用户提交表单时,它会在iframe中加载一个“谢谢”页面。然后,如果用户再次单击按钮,jQuery将检查iframe body元素的ID以查看表单是否存在,如果不存在,则加载表单iframe并显示它

我得到的代码在Chrome上运行,但在Firefox上失败了; 控制台中的错误消息=>TypeError:frames['form-iframe']未定义 我想象当我开始测试它的时候

任何关于为什么或如何解决这个问题的想法都将不胜感激

HTML代码段

<label id="tell-a-friend-button">
    <div class="radio-button radio-button-grey">
        <div class="label-text">YES</div>   
    </div>
    <span>Tell a friend</span>
</label>

<div id="tell-a-friend">
    <iframe src="me.asp?email=foo" frameborder="0" id="form-iframe"></iframe>
</div>

您是否尝试过“window.parent.frames”而不是frames;还要检查@Amitd,这种方法似乎充满了潜在的问题,所以我正在考虑直接使用它,或者使用ajax来获取/发送表单。请你对此发表意见。你没有做错。。我只是想检查“window.parent.frames”是否能代替frames['form-iframe']@Amitd决定使用ajax来实现这一点,因为链接中详细说明了x-browser支持的问题。我现在已经使用ajax完成了这项工作,它似乎工作得很好。但谢谢你的意见。
$("#tell-a-friend-button").click(function(){
    // set iframe content
    $("#form-iframe").ready(function () {
        var frame = $('body', frames['form-iframe'].document).attr('id');
        if (frame == "tell-form") {
            $('#tell-a-friend').slideToggle();
        } else {
            // is the thank you page
            // load the iframe
            $("#form-iframe").attr("src", "me.asp");
        }
    });
});