获取发送Google表单提交的IP

时间:2013-07-25 15:19:05

标签: jquery forms google-sheets

这是相当长的文本墙,但你不需要全部阅读,帖子的主要部分是在第二条水平线以下 - 你不必阅读我是如何分析问题:)。在此先感谢您的帮助!


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

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

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


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

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

  • 这是一个问题:这是做我想做的正确方法吗?或者有一些我无法找到的更简单的解决方案?我不是'IT专业人士',因此我担心我会遗漏一些东西。

1 个答案:

答案 0 :(得分:0)

  

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

这种说法不正确。如果您的自定义表单正在撰写对Google表单所使用的同一电子表格的回复,您只需在电子表格中添加另一列,即Google表格使用的表格区域旁边。此“字段”不会成为Google表单的一部分,也不会使用表单服务完成的任何表单摘要。