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