目前,我有一个带有多选复选框的表单。提交后,它将发布到具有类似数组的PHP脚本中:
&id%5B%5D = 3&id%5B%5D = 7
HTML:
<form id="frm-example" action="vmwaressl_admin_process.php" method="POST">
php脚本循环遍历数组,并对所选的每一行进行SQL更新。然后,脚本使用header()函数重定向回页面。
PHP:
<?php
foreach ($_POST['id'] as $key => $idValue) {
$host_id_sql = "query";
$stmt = sqlsrv_query($conn, $host_id_sql);
if ($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$host_id = $row['HOST_ID'];
}
$host_update_sql = "update query";
$stmt = sqlsrv_query($conn, $host_update_sql);
if ($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
$host_id_sql = null;
$stmt = null;
}
header('Location: home_page.php');
?>
我的问题是关于页面刷新。有什么方法可以提交表格但不刷新页面?我在考虑ajax,但不确定如何实现。
谢谢。
最佳答案
将您的表单标签更改为:
<form id="frm-example">
并将其添加到脚本标签中:
$('#frm-example').on('submit', function (e) {
if (!e.isDefaultPrevented()) {
var url = "vmwaressl_admin_process.php";
$.ajax({
type: "POST",
url: url,
data: $(this).serialize(),
success: function (data)
{
//Whatever You want to do on success
}
});
return false;
}
})