要知道何时提交iFrame中的表单的事件

时间:2011-07-12 19:23:37

标签: javascript html html5

好的,我的网站的“联系”页面上有一个iframe。

iframe的src指向包含Google文档表单的另一个文件。

提交Google文档表单后,该页面将重定向到Google页面,上面写着“您的回复已被记录”。

我在iframe中有这个表单,因此它不会将查看者重定向到我的整个网站,而只会重定向iframe文档。

这一切都很好,但我想显示自己的信息,而不是谷歌“你的回复已被记录”。

要做到这一点,基本上我想知道iframe何时被重定向和/或(最好)表单已经提交。

我尝试过的事情......

  • iframe元素中的onhaschange =“”

  • 表单元素中的
  • onsubmit =“”(位于iframe src文件中)

还有其他想法吗?

4 个答案:

答案 0 :(得分:2)

看看这个答案:iFrame src change event detection?
创建一个函数来检查加载的内容是否来自Google并做出正确反应。

答案 1 :(得分:0)

Too late I guess but... here's my answer. I've had the same quiz today.

function getIframe(iframeElement){
    //retrieves the document element inside of an iframe
    return iframeElement.contentDocument;
}

var iframeElem = document.getElementById('iframeId');

iframeElem.onload = function(){
    //onload also catches form post sending
    var iframeDoc = getIframe( iframeTpv );
    //retrieves the height of the content's body
    var contentHeight = iframeDoc.body.scrollHeight;
    //do something ... 
}

答案 2 :(得分:0)

老问题,但我想我找到了一个简单的解决方案:

HTML:

<iframe src="google_form_link" onload="changed()">Loading…</iframe>

JS:

var change_count = 0;

function changed() {
    if (change_count === 1 /* NUMBER OF FORM PAGES */) {

        /* DO SOMETHING */

    }
    else {

        window.change_count += 1;

    }
}

答案 3 :(得分:-2)

对于同一个域名。 iframe加载前如何检测?有些像

$('#iframe').contents().find('a').click(function() {
    $('#iframe').animate({opacity:0.1},30);
});

还有其他正确的方法吗?有些像iframe模糊,src out ... event。