Javascript 表单提交未正确提交

标签 javascript php forms sweetalert

我使用 Sweet Alert 有这个非常简单的表单并且由于某种原因无法让它工作。当我单击链接时,它会触发警报,当确认警报时,它会重新加载页面,因为它提交了表单。

但由于某种原因,当 $_POST['delete_alert'] 未定义时。

我的触发警报的代码:

<a id="sa-warning">Delete</a>

我的表格:

<form id="form" action="index.php" method="POST">
    <button type="submit" name="delete_alert" value="delete">Delete</button>
</form>

还有我的 JavaScript:

$('#sa-warning').click(function() {
  swal({
    title: "Are you sure?",
    text: "You will not be able to recover this alert.",
    type: "warning",
    showCancelButton: true,
    confirmButtonColor: "#DD6B55",
    confirmButtonText: "Yes, delete it!",
    closeOnConfirm: false
  }, function() {
    document.forms["form"].submit();
  });
});

我正在使用位于index.php的PHP代码测试表单是否已正确提交:

<?php 
if(isset($_POST['delete_alert'])) { 
    echo "form is submitted correctly"; 
} else { 
    echo "something is wrong"; 
} 
?>

最佳答案

我认为问题出在 document.forms["form"].submit();

仅当单击按钮时,HTML 表单才会发送提交name=value。 在这种情况下,情况并非如此。

所以我认为你应该使用click而不是submit,但在你的情况下它不会工作,因为点击将被你的javascript函数捕获。

这就是为什么最好的解决方案是使用input

关于Javascript 表单提交未正确提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35163992/

相关文章:

python - Django - 如何通过用户先前选择的选项填充表单中的 manytomany 字段

javascript - 在命名空间 javascript 中定义 obj 构造函数的最佳方法

javascript - VueJs 插入嵌套列表

javascript - 将 PDF 存储到 Google 云端硬盘

javascript - 在 IE8 运行时插入 JavaScript

html - 在 Yii 表单中使用 html5 表单元素的最佳方式

php - MySQL 返回按组分隔的联合选择结果

php - 如何在laravel中获取另一个表中的非整数列

php - WordPress 网站服务器与大型数据库一起移动问题

forms - http.Request r.FormValue 什么都不返回/map[]