經典的ASP,ASP.NET,PHP或任何其他動態語言,它與你真正在做的一樣是表格POST ing,這是HTML,而不是實際的ASP。
假設你有一個像
<form id="frm-submit" action="/SendEmail.asp" action="POST">
...
<input type="submit" value="Submit form" />
</form>
形式加入少許的jQuery的頁面
$(function() {
$("#frm-send").submit(function() {
var data = $(this).serialize(),
action = $(this).attr("action"),
method = $(this).attr("method");
$(".loading").show(); // show loading div
$.ajax({
url: action,
type: method,
data: data,
success: function(data) {
// all went well...
},
error: function(err) {
// there was something not right...
},
complete: function() {
$(".loading").hide(); // hide the loading
}
});
return false; // don't let the form be submitted
});
});
,你準備好去。
在
sendMail.asp
頁
,一切你發送到Response.Write
將在success
方法data
變量,所以以後你發送你的電子郵件:
Response.Write("done")
Responde.Flush()
Response.End()
在JavaScript部分,您可以處理它:
success(data) {
if(data === "done")
{
// Super duper! let's show the user a Thank you for submit page
document.location = "/ThankYou.asp";
}
}
你的JQuery是完美的,謝謝。然而,「成功」部分重定向,我得到你爲什麼這樣做,但有沒有辦法用另一個消息替換聯繫表單?如「感謝您的詢問,我們會盡快聯繫」? –
我已經想通了。我把它放在jQuery中:$('#form-contact-sidebar')。hide(); \t $('#submit-result')。show(); –
我已將其標記爲已回答。非常感謝@ balexandre –