[英]prevent page from reloading after form submit
有沒有一種方法可以檢測並停止頁面是否正在重新加載。
我有一個頁面,該頁面在成功提交其中存在的表單后將被重新加載。 我想要一個事件偵聽器,該事件偵聽器可以查看是否正在重新加載頁面,並應阻止它重新加載。
我不能return false;
成功提交注冊表
在您的html中:
<form onsubmit="myFunction()"> Enter name: <input type="text"> <input type="submit"> </form>
在您的JavaScript中:
myFunction = function(e) { // prevents default action to happen e.preventDefault(); // do what ever you want to do here // ie perform a AJAX call }
您必須使用AJAX提交表單,以避免刷新整個頁面。
可以使用常規Javascript完成此操作,但使用jQuery http://api.jquery.com/jquery.ajax/可以使其更容易
檢測頁面是否正在重新加載是非常骯臟的解決方案。
您必須防止默認操作
<script>
$( "a" ).click(function( event ) {
event.preventDefault();
});
</script>
在這種情況下,您將需要通過某種AJAX調用來實現表單發送機制。
因為發送表單實際上是在加載帶有某些參數(表單數據)的新頁面。
標准表單提交的工作方式如下:
Browser -> issues GET or POST HTTP request -> Server
Browser <- returns the result of the request <- Server
Browser re-renders the current page based on the server's response.
因此,標准表單提交將始終導致頁面重新加載。
但是,您可以使用AJAX發出HTTP請求,從而避免重新加載頁面。
看看$ .ajax
提交后的默認操作是發送到操作數據的頁面。 如果您嘗試停止刷新,即不提交表單。
e.preventDefault()
默認提交表單。 這將停止默認的提交行為,包括重新加載頁面[但未提交表單]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.