2016-04-18 17 views
0

當我打電話與報警功能的工作正在parfectly:

function post() { 
    var cvs = $('#client-nbr').val(); 
    var cs = $('#cs').val(); $.post('a.php' {postcvs:cvs,postch1:cs}); 
    alert("The function work"); 
} 

和HTML格式是這樣的:

<form action="b.php" method="post" onsubmit="return post()"> 

問題是,當我從功能刪除警報在$。員額不工作:

function post() { 
    var cvs = $('#client-nbr').val(); 
    var cs = $('#cs').val(); $.post('a.php' {postcvs:cvs,postch1:cs}); 
} 

請幫助:)

+0

你正在失蹤'return false;' – Rayon

回答

4

由於post()沒有return聲明,onsubmit函數最終返回undefined

由於它不返回false,它不會取消表單的正常行爲。因此,表單在Ajax請求解析之前提交併卸載頁面。

加載alert會導致頁面卸載延遲,直到您點擊確定,這會給Ajax請求解析提供時間。

return false from post函數取消表單的正常提交。

+0

我嘗試了它,但並不工作

Sharondelmar

+0

你應該重新調整錯誤的功能。 'function post(){/ *你的代碼* /返回false; }' – epascarello

+0

@Sharondelmar - 在'onsubmit'函數中的第一個返回語句之後放置第二個返回語句將不會產生任何影響,因爲該函數已經返回,所以永遠不會到達它。正如我所說的,你需要從'post'函數返回。 – Quentin