【问题标题】:Form Submit taking to a new page表单提交进入新页面
【发布时间】:2011-12-15 16:44:18
【问题描述】:

我有一个简单的表格。在提交时(提交操作是一个谷歌文档表单提交),它会进入一个新页面,重点放在该页面上。我想将注意力集中在当前页面上。

我有什么选择?

这是代码(也存在here

<html><body>
    <form action="https://docs.google.com/a/rangde.org/spreadsheet/formResponse?formkey=dFlSZkt0TzZTWHJyblBiQlNrcmZvZGc6MQ" method="POST" id="ss-form" target="_blank" onsubmit="submitted=true;">
<br>
<input type="text" name="entry.0.single" value="" class="ss-q-short" id="entry_0" placeholder="Your Name">
<br>
<input type="text" name="entry.1.single" value="" class="ss-q-short" id="entry_1" placeholder="E-mail Address">
<br>
<input type="text" name="entry.2.single" value="" class="ss-q-short" id="entry_2" placeholder="Pledge Amount">
<br>
<input type="submit" name="submit" value="Submit"></form>
    </body>
</html>

【问题讨论】:

标签: javascript jquery html forms google-docs


【解决方案1】:

根据您要对生成的表单执行的操作(如果您不习惯依靠 js 完成所有工作),您还可以在页面上创建一个隐藏的 iframe,为其命名,然后设置表单目标为 iframe 的名称。仅当您不想让用户看到 Google 页面本身时才这样做。

【讨论】:

    【解决方案2】:

    如果您使用的是 jQuery,请尝试在 http://jquery.malsup.com/form/ 找到的 AjaxForm

    【讨论】:

    • 这个选项看起来很有希望,但看起来谷歌不会让我这样做。这些是引发的错误:“加载资源失败:服务器响应状态为 405(不允许方法)”和“XMLHttpRequest 无法加载 - Access-Control-Allow-Origin 不允许 Origin null。”
    • 嗯,好的。它通常确实非常有用,但我想只有当该操作在您自己的服务器上进行时(或者没有 Google 提供的任何内容阻止它处理,也许)。与slideUp() 表单的回调一起使用并显示成功消息时特别好。
    【解决方案3】:

    表单的操作参数将始终将您带到该页面。

    这是一个例子: POST without Form Method (PHP)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-21
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多