Jag håller på att kolla på AJAX. Jag har denna kod, den funkar men måste väl finnas nåt enklare sätt att göra det? Jag vill ha fram diven med med "loading.gif" när jag har skickat och väntar på svar, Finns det nåt sätt att fördröja innan den diven visas också? eftersom du redan ser ut att köra jQuery borde du kolla på vad jQuery har för funktioner för Ajax.. Kollade på det, men fattade inte hur jag skulle använda onreadystatechange med det. Jag hade nåt i stil med http://api.jquery.com/category/ajax/global-ajax-event-handlers/ Vad i exemplen för Ajax.post är svårt att förstå? Det är ju lite svår syntax när man inte är van vid det, eller jag tycker det rättare sagt med alla klamrar och paranteser. Jag fattar hur jag ska använda .post, men inte hut jag ska få in onreadystatechange. HAr löst detta nu :) Det är så krångligt med alla klamrar och paranteser, men det är nog väldigt kraftfullt. Så här ser min kod ut och det funkar:AJAX onreadystatechange
<script>
$("document").ready(function () {
$("#waitDiv").css("display", "none");
$("#showDiv").css("display", "none");
});
function sendMail() {
$("#form1").slideUp("slow");
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
$("#showDiv").html(xmlhttp.responseText);
$("#showDiv").css("display", "inline");
$("#waitDiv").css("display", "none");
$("#form1").slideDown("fast");
}
else {
$("#waitDiv").css("display", "block");
}
}
xmlhttp.open("POST", "MailReceiver.aspx", true);
xmlhttp.send();
}
</script>Sv: AJAX onreadystatechange
Sv:AJAX onreadystatechange
$("document").ready(function(){
function sendMail(){
$.post("MailReceiver", ("#form1").serializeArray()).onreadystatechanged
};
});
Nu är det säkert fel, skrev det direkt här, men ni fattar nog vad jag menar. jQuery är säkert ett bättre allternativ än det jag skrev från början. Men hur går jag vidare från detta för att uppnå det jag vill?Sv: AJAX onreadystatechange
kolla även dokumentationen för post, däri finns det du behöver.Sv: AJAX onreadystatechange
http://api.jquery.com/jQuery.post/Sv:AJAX onreadystatechange
Vad ska man använda istället för onreadystatechange?Sv: AJAX onreadystatechange
<code>
$("document").ready(function () {
// Hide the ajax status div...
$("#waitDiv").hide();
// Show and hide ajax div staus when ajax request is sent...
$("#waitDiv").ajaxStart(function () {
$(this).show()
$("#form1").slideUp("fast");
});
$("#waitDiv").ajaxStop(function () {
$(this).hide()
$("#form1").slideDown("slow");
});
$("#waitDiv").ajaxError(function () {
$(this).hide();
$("#showDiv").text("Det uppstod ett fel.");
});
$("#doSend").click(function () {
$.ajax({ url: "MailReceiver.aspx", data: $("#form1").serializeArray(), success: function (data) { $("#showDiv").html(data); }
});
});
});
</code>