2011-08-04 128 views
1

我一直在瘋狂,我似乎無法想象如何通過ajax提交表單時停止刷新頁面。阿賈克斯Submit頁面刷新

我已經建立了一個爲的jsfiddle你看看:this link

我已經做了event.prefentDefault()並返回false;但似乎無法得到它的工作。我只是在愚蠢嗎?

最終的結果應該是當表單被提交時,表單區域應該消失並被「隱藏的」ajax_message取代,它簡單地讀取:「檢查你的手機」。

預先感謝你救了我的髮際線:)

回答

1

submit_number功能是「文件準備就緒」事件處理中定義,並且僅可見內部的功能(範圍)和它的孩子,所以你不能使用它來自只有全局範圍可用的HTML。

如果你有螢火蟲或類似的東西激活,你會在錯誤控制檯中看到。

快速破解,使工作將取代

function submit_number(event) { 

window.submit_number = function(event) { 

從而明確地把你的功能在全球範圍內,但它是推薦辦法。用您的單一目的功能污染全球範圍毫無意義。

一個更好的辦法是註冊功能從JS像這樣的事件處理程序:

$('form.kinkast_signup').submit(submit_number); 

你也可能希望將ID添加到形式,並通過ID而不是類名引用它。

0

不使用表單中的「onclick」,而是將其綁定到JavaScript。

所以,與其

function submit_number(event) 

$(form).submit(function(event) 
0
<form method="post" class="kinkast_signup" onsubmit="submit_number(); return false"> 
<input id="login_email" type="text" name="to" /> 
<input id="signInButtonSubmit" type="submit" name="action" value="Send" /> 
</form> 

然後

window.submit_number=function() { 
      //Prevent Default page refresh on submit 
      //event.preventDefault(); 

...... 
} 

preventDefault()方法可以刪除。

0

功能時onclick事件發生應該簡單地返回false時調用。