0

这是相当长的文字墙,但您无需通读所有内容,帖子的主要部分位于第二条水平线下方-您无需阅读我是如何分析问题的:)。提前感谢您的帮助!


我有一个带有自定义表单的网页,可将提交的内容发送到 Google 电子表格(但某些用户也使用原始 Google 表单)。我需要获取使用自定义表单的用户的 IP,尽管应该隐藏带有 IP 的输入。

我的第一个想法是通过 jQuery 获取 IP,我在 Stackoverflow 找到了一个简单的 AJaX 调用来执行此操作。我想创建一个使用 CSS 隐藏的表单输入,通过 AJaX 获取的 IP 将被放在那里(使用 jQuery),然后与表单一起提交。但是,这种方式对我来说是不可接受的,因为如果我希望电子表格接收 IP 输入,则附加表单输入字段必须保留在原始 Google 表单中 - 我不希望发生这种情况。

然后我认为我的自定义表单应该同时(当用户提交时)将提交发送到两个地方(电子表格和一些位于我服务器上的自定义 PHP 脚本),但我发现一个表单只能有一个'行动'。我不知道这是否可以通过任何其他方式完成。


最后,我想到了这样一个想法:在自定义页面中,我将创建第二个表单——它将被隐藏并包含两个输入,一个带有 IP,第二个是第一个的副本表单的输入(让我确定谁是哪个 IP 的所有者)。提交将被发送到我的服务器并使用 PHP 处理;然后我可以比较存储在电子表格和我的服务器上的提交。

当用户高兴地提交主自定义表单时,jQuery 会将其中一个输入复制到隐藏副本,获取用户的 IP 并在用户不知情的情况下提交第二个表单。

  • 问题是:这是做我想做的事情的正确方法吗?还是有一些我没有找到的更简单的解决方案?我不是“IT 专业人士”,因此我担心我遗漏了一些东西。
4

1 回答 1

0

..如果我希望电子表格接收 IP 输入,则附加表单输入字段必须保留在原始 Google 表单中...

这种说法是不正确的。如果您的自定义表单正在向 Google 表单使用的同一个电子表格写入响应,您可以简单地在电子表格中添加另一列,在 Google 表单使用的表格区域旁边。此“字段”不会成为 Google 表单的一部分,也不会出现在表单服务所做的任何表单摘要中。

于 2013-09-09T01:37:42.477 回答