【问题标题】:How to check if a form has been submitted when there is no submit button没有提交按钮时如何检查表单是否已提交
【发布时间】:2011-09-17 07:48:54
【问题描述】:

所以我使用 ajax 请求通过链接提交表单。但是,当我想在我的 php 中接收输入时,我不知道该怎么做。例如,我通常会这样做

if($_SERVER["REQUEST_METHOD"]=="POST&&isset($_REQUEST["register"]))
  {
    //do stuf here
  }

但是现在ajax已经提交了代码,如何查看表单提交。我什至没有寄存器(输入类型提交)。每当我这样做时,错误消息都会为里面的表单输入显示“没有这样的索引”。

【问题讨论】:

  • 请出示您的“ajax 请求提交表单”代码

标签: ajax forms input


【解决方案1】:

请注意,您始终可以检查当前请求是否为 AJAX:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest')
{
    // This is an AJAX request, proccess the data from $_POST, $_GET or $_REQUEST
}

【讨论】:

  • 谢谢,我会试试这个。如果我有多个 ajax 请求怎么办?这就是说,如果我在同一个页面上有多个表单,我想使用 ajax 提交。
【解决方案2】:

通常您可以定义AJAX 请求的类型(POSTGET)。如果它设置为 POST 并具有适当的参数 (register),那么您的 PHP 代码应该可以工作。

【讨论】:

  • 但我没有注册按钮。我所做的只是点击一个链接。链接提交表单。但在那之后我需要表单输入来更新我的数据库
  • 然后将参数附加到链接 - 或将所需参数作为隐藏字段添加到表单中。
  • 如果表单输入没有发送到您的服务器,那么您的“链接”不是您认为应该做的(发送 AJAX 请求)。在这种情况下,您也应该显示该代码。
猜你喜欢
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 2013-05-22
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
相关资源
最近更新 更多