我正在网页上使用 Google 表单。我将表单中的源代码直接复制到我的页面上,这样我就可以修改一些 HTML 而不是使用 iframe。然后,我不想将用户带到谷歌文档响应页面,而是将他们重定向到另一个页面。
我遇到的麻烦是页面重定向。我能够通过以下方式在 Chrome 和 Firefox 中正常工作:
<form target="GoogleResponse" action="https://docs.google.com/spreadsheet/
formResponse?formkey=xxxxxxxxxxxxxxxxxxxxxxxxxx&ifq;" onsubmit="
window.location = 'targetPage.html';" method="POST" id="ss-form">
IE 和 Safari 都自动进行了重定向,并且响应从未写入 Google 表单。如果我放弃重定向,则该操作在两者中都可以完美运行,并且响应会记录在 Google 电子表格中。
因此,我尝试将操作拉出,而是在 onsubmit 中完成所有操作,如下所示:
<form target="GoogleResponse" onsubmit="this.action = https://docs.google.com
/spreadsheet/formResponse?formkey=xxxxxxxxxxxxxxxxxxxxxxxxxx&ifq';
window.location = 'targetPage.html';" method="POST" id="ss-form">
和以前一样的问题,IE 和 Safari 都重定向,并且没有任何内容写入 Google 电子表格。再一次,如果我删除重定向,响应会记录在所有浏览器中。我还可以做其他事情,比如在行动后发出警报,一切都会继续正常工作。我唯一看到问题的是重定向。
所以在这一点上,我唯一能想到的是它们是重定向和动作之间的某种冲突。我对 javascript 和表单的工作知识非常有限,因此将不胜感激任何帮助或建议!