使用jQuery显示和加载iframe

时间:2012-10-02 08:45:23

标签: javascript jquery

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

我在Chrome中运行的代码可以在Firefox中使用;但是 console =>中的错误消息TypeError: frames['form-iframe'] is undefined
(当我开始测试时,我想象IE。)

非常感谢任何关于为什么或如何解决这个问题的想法。

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>

jQuery代码段

$("#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");
        }
    });
});

0 个答案:

没有答案