【问题标题】:PHP Post is not setting value on jquery form submitPHP Post没有在jquery表单提交上设置值
【发布时间】:2020-10-07 13:44:22
【问题描述】:

PHP 表单

<form id="f1" action="welcome.php" method="post">
  Name: <input type="text" name="name"><br>
  E-mail: <input type="text" name="email"><br>
  <input name="btnSubmit" id="btnSubmit" type="submit">
</form>

PHP 帖子

if($_SERVER["REQUEST_METHOD"] == "POST")
{
  if (isset($_POST['btnSubmit'])) {
      echo 'You have clicked submit button';
  }
}

这里的值是打印。但是当我们使用 jquery 提交表单时:

 $('#btnSubmit').on('click',function(e){
    e.preventDefault();
    var form = $(this).parents('form');
    swal({
        title: "Are you sure?",
        text: "You will not be able to recover this imaginary file!",
        type: "warning",
        showCancelButton: true,
        confirmButtonColor: "#DD6B55",
        confirmButtonText: "Yes, delete it!",
        closeOnConfirm: false
    }, function(isConfirm){
        if (isConfirm) form.submit();
    });
});

回显值未打印。如何使用 jquery 表单提交打印回显值?

甜蜜警报: https://sweetalert.js.org/guides/

【问题讨论】:

  • 为什么使用jquery而不做任何事?
  • 服务器端代码正在寻找被点击的按钮,但 jQuery 代码不是在调用按钮点击,而是在调用表单提交。这里的目标是什么?两者的 UX 是相同的,那么你想通过使用这个 jQuery 代码来完成什么?
  • @Simone Rossaini:实际上我在提交按钮上使用了 sweetalert 确认,我正面临这个问题。
  • $('#btnSubmit').click(function(e) { $("#f1").submit(); }); 没有意义。这只会导致表单被提交两次(因为点击按钮会导致浏览器触发提交,而不需要额外的代码)。
  • 添加到您的 jquery 中:e.preventdefault(); 这将防止重复提交。

标签: php html jquery sweetalert


【解决方案1】:

btnSubmit 不在您的 $_POST 变量中; 仅键入文本(在您的情况下)是。

【讨论】:

    【解决方案2】:

    试试这个;

    if($_SERVER["REQUEST_METHOD"] == "POST")
    {
        print_r($_POST); 
    }
    

    查看您是否获得btnSubmit 的价值。很确定您需要为其附加值以在 $_POST 中设置键/值对。

    完成这项工作的最简单方法是将按钮更改为:

    <input name="btnSubmit" id="btnSubmit" type="submit" value="Submit">
    

    不检查输入时出现的安全问题非常严重。只需查看 Johnny Tables (https://xkcd.com/327/)

    【讨论】:

    • 我在同一页面上有多个表单。这就是我使用 isset($_POST['btnSubmit']) 的原因。
    • 这就是为什么你需要一个按钮的值。如果你寻找它会更容易
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    相关资源
    最近更新 更多