使用 JavaScript 停止表單提交
可以使用多種方法在 JavaScript 中封鎖表單提交。問題中提到的一種方法是當滿足特定條件時從驗證函數傳回 false。然而,在這種情況下,即使在呼叫 returnToPreviousPage() 函數後,表單仍在提交。
要有效停止表單提交並返回上一頁,請考慮以下方法:
1. PreventDefault() 並返回False:
將PreventDefault() 方法新增至表單的onsubmit 事件處理程序中,並從驗證函數傳回false。這將阻止瀏覽器提交表單,並觸發returnToPreviousPage() 函數導覽回上一頁:
<form onsubmit="event.preventDefault(); validateMyForm();">
function validateMyForm() { if (condition not met) { alert("Validation failed"); returnToPreviousPage(); return false; } else { alert("Validation passed"); return true; } }
2.函數傳回值:
使用驗證函數的傳回值來控製表單提交。在onsubmit 事件處理程序中,指定驗證函數的名稱並設定函數的回傳值以停止或允許提交:
<form onsubmit="return validateMyForm();">
function validateMyForm() { if (condition not met) { alert("Validation failed"); returnToPreviousPage(); return false; } else { alert("Validation passed"); return true; } }
注意: 如果使用Chrome 27.0.1453.116 m,可能需要將事件參數的returnValue 欄位設為false 才能讓上述程式碼有效運作。
以上是如何可靠地停止 JavaScript 表單提交並導航回來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!