繁体   English   中英

了解何时提交 iFrame 中的表单的事件

[英]Event to know when a form in an iFrame has been submitted

好的,所以我在我的网站的联系页面上有一个 iframe。

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

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

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

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

为此,基本上我想知道 iframe 何时被重定向和/或(最好)表单已提交。

我尝试过的事情...

  • iframe 元素内的 onhaschange=""

  • onsubmit="" 在表单元素内(在 iframe src 文件中)

还有其他想法吗?

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

我想为时已晚,但是...这是我的答案。 我今天也有同样的测验。

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 ... 
}

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

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;

    }
}

对于同一个域。 加载 iframe 之前如何检测? 有些喜欢

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

还有其他正确的方法吗? 有些像 iframe blur, src out... 事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM