提交表单时如何防止页面刷新?我希望能够单击“提交”,但不刷新页面,只需在按钮下返回一条消息,说“感谢您接受调查!我们一定会联系您的。”
我读了一些文章和问题说,最好的方法是通过AJAX实现它?我希望是否有其他方法可以做到这一点,但如果AJAX是唯一的方法,那么是否有一种代码可以让人容易理解它的功能。
非常感谢大家!
您可以使用这个简单的代码
步骤1:创建表单
步骤2:在查询中处理表单提交
步骤3:e.preventDefault();这将有助于防止重新加载
步骤4:您可以更改测试。php与您的实际url
<html>
<head>
<title>Test Form</title>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
</head>
<body>
<form action="#" id="login_form" method="post">
<input type="email" class="form-control" name="email_id" id="email_id" value="admin@admin.com" placeholder="Email">
<button type="submit" class="btn btn-primary btn-block">Sign In</button>
</form>
</body>
</html>
<script type="text/javascript">
$( "#login_form" ).on( "submit", function(e) {
var dataString = $(this).serialize();
// alert(dataString); return false;
$.ajax({
type: "POST",
url: "test.php",
data: dataString,
success: function (data) {
alert("Submit");
}
});
e.preventDefault();
})
</script>
PHP是一种位于服务器端的语言。发送表单发生在浏览器中,因此是客户端。浏览器负责处理这种行为。默认情况下,html通过post或get发送请求到在"action"表单中定义的endpoint。
如果你想动态发送一个表单而不需要硬重载,在PHP中是没有办法的,因为你需要与浏览器交谈。
实现这一点的快速方法是在前端使用类似jQuery的库。
我建议将该操作留给重定向工作,以便为没有JS的浏览器提供后备。
来自虚拟形式:
<form id="target" action="destination.html">
<input type="text" name="hello" value="Hello there">
<input type="text" name="user" value="Username">
<input type="submit" value="Go">
</form>
您可以轻松地防止javascript/jquery的默认行为:
$( "#target" ).submit(function( event ) {
event.preventDefault();
});
这将阻止表单发送和重定向。您现在可以使用Javascript发送数据并根据响应更新dom:
$( "#target" ).submit(function( event ) {
event.preventDefault();
/*
make your data requests, formats and more here.
then send the data in the "data" part
*/
$.ajax({
type: "POST",
url: url,
data: {"name": hello, },
success: mycallback,
dataType: dataType
});
});
“success”指向别处定义的回调函数。您可以在以下位置找到该函数的所有属性:https://api.jquery.com/jquery.post/
问题内容: 我有一个分类广告网站,在显示广告的页面上,我正在创建“向朋友发送提示”表单… 因此,任何想要的人都可以将广告提示发送给某些朋友的电子邮件地址。 我猜该表格必须提交到php页面,对吗? 提交表单时,页面被重新加载…我不想要… 有什么办法可以使其不重新加载并仍然发送邮件?最好没有ajax或jquery … 谢谢 问题答案: 您需要提交ajax请求来发送电子邮件,而无需重新加载页面。 您的代
问题内容: 我有一个分类广告网站,在显示广告的页面上,我正在创建“向朋友发送提示”表单… 因此,任何想要的人都可以将广告提示发送给某些朋友的电子邮件地址。 我猜该表格必须提交到php页面,对吗? 提交表单时,页面被重新加载…我不想要… 有什么办法可以使其不重新加载并仍然发送邮件?最好没有ajax或jquery … 谢谢 问题答案: 您需要提交ajax请求来发送电子邮件,而无需重新加载页面。 您的代
问题内容: 我对jQuery不太熟悉。我正在尝试制作一个无需重新加载页面即可在后台提交的表单。 我有一个隐藏的div,它显示并隐藏单击,在div内有一个表单。 我有两个问题: 1)表单验证失败时,仍将提交表单。我试图设置验证和提交代码的状态,但无法正常工作。 2)提交表单后,div自动隐藏,因此看不到成功的消息。 这是代码: 问题答案: 不应绑定到click事件(),而应绑定到 表单的事件。 我也
问题内容: 我正在辩论应该如何学习。主要是,如果我从数据库中获取大量信息以将其加载到页面上,那么最好的方式是操纵页面而不需要重新加载。使用XML之类的东西是最好的选择,还是我应该使用的其他东西。我知道其中很多使用HTML Dom和XML Dom,但是我不想开始学习我不需要的东西。 问题答案: 您正在寻找的技术名称是AJAX,它代表异步Javascript和XML(尽管目前大多数AJAX使用JSON
问题内容: 谁能告诉我为什么这部分代码不起作用? 当我推送提交时,什么也没有发生。在接收的php文件中,我正在使用$ _POST [‘time’]和$ _POST [‘date’]将数据放入mysql查询中,但它没有获取数据。有什么建议么?我假设这与“提交”按钮有关,但我无法弄清楚 问题答案: 表单是在ajax请求之后提交的。
我在一页上有许多表格。我想提交每一张表格而不需要重新加载页面。我尝试了很多方法,但都做不到。我有一张类似的表格。我也尝试过使用ajax,但做不到。请帮帮我。现在,我也无法在数据库中插入。 滑动分页