表單 $.ajax 提交成功,需在原頁面 <label id="msg"> 顯示「提交成功」。核心是成功回調中操作 DOM。
$.ajax({
url: "form.php",
type: "POST",
data: $("#myForm").serialize(),
success: function(response) {
$("#msg").html("提交成功"); // 或 .text("提交成功")
// 若需顯示服務端返回信息
// $("#msg").html(response.message);
},
error: function() {
$("#msg").html("提交失敗,請重試").css("color", "red");
}
});
document.getElementById("myForm").addEventListener("submit", async (e) => {
e.preventDefault();
const formData = new FormData(e.target);
try {
const resp = await fetch("form.php", { method: "POST", body: formData });
const result = await resp.json();
document.getElementById("msg").textContent = result.success ? "提交成功" : "失敗:" + result.error;
} catch (err) {
document.getElementById("msg").textContent = "網絡異常:" + err.message;
}
});
e.preventDefault() 或 return false,避免頁面跳轉。.serialize()、原生 FormData 自動處理編碼。{success: true, message: ""},前端統一解析。disabled=true、顯示 Loading 狀態、結果自動淡出。「提交成功後 $(label的id或者class).html('提交成功');」—— 一行代碼搞定 DOM 更新。