目前,我有一个带有多选复选框的表单。提交时,它会发布到一个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,但我不确定如何实现它。
感谢。
答案 0 :(得分:1)
将表单标记更改为: -
<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;
}
})