2012-01-06 82 views

回答

5

添加回報虛假的函數調用後,像這樣:

<input .... onclick="function();return false;" /> 

,或者你可以只返回真/假從功能上,像這樣:

<input .... onclick="return function()" /> 
+0

感謝您的回覆。好吧,停止提交過程,但現在驗證似乎不起作用。有任何想法嗎? – 2012-01-06 10:54:55

+0

不確定,添加代碼不應該阻止你的函數完全運行。檢查函數是否正在運行(可能會添加一些調試代碼),並確保該函數返回true/false,如果您使用底部示例。 – Tom 2012-01-06 10:56:27

1

如果你使用jQuery你可以這樣做:

$('#your_form_id').submit(function(e){ 
    e.preventDefault(); 
    // do your staff 
}); 

你也可以做到這一點沒有一個框架:

document.getElementById('your_form_id').addEventListener('submit' function() { 
    // do your staff 
    return false; 
}); 

在「//做你的員工:」你可以寫你的Ajax代碼。

0

中的onsubmit屬性添加到您的窗體標籤:

<form onsubmit="return myfunction()"> 

確保你返回一個布爾爲你的函數

function myfunction() { 
    // do your validation 
    if (validation.passes) { // you will need to change this line !!! 
    return true; // to submit 
    } else { 
    return false; // to prevent submit 
    } 
} 
0

一個onsubmit處理添加到您的形式,例如

<form method="POST" onsubmit="return sendForm();"> 

然後定義功能,並添加虛假的返回值:

function sendForm() { 
    //do your ajax request... 
    return false; 
} 
1

我傾向於選擇離開我的功能,因爲它們和添加return false來onsubmit處理程序,例如:

<form onsubmit="aFunction(); return false;"> 
0

我已經嘗試各種解決方案,但它仍然重新加載AJAX處理後的頁面:

<form id="form2" method="POST" onsubmit='sent(); return false;' > 

function sent(){ 
    $.ajax({ 
     ... 
    }); 
}