webForumDet fria alternativet

Kolla trådar om det körs (prototype ajax)

5 svar · 421 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Hej

Jag har en sida där jag kör uppdatering av information med ajax så fort ett formulärfält sätts till blur. Nu vill jag förhindra att man klickar sig till en sida utan att ajax anroppet hinner göras.
Använder prototype för ajaxanroppen.

new Ajax.Updater()

En ide var att lösa det så här:

var updateInProgress = false;
function foo(){
  updateInProgress = true;
  new Ajax.Updater(....);
  updateInProgress = false;
}

onunload = function(){
  while(updateInProgress){
    alert('Vänta med information sparas');
  }
}

Men koden nedanför "new Ajax.Updater(....)" körs väl direkt även fast anroppet inte hunnits gjort.

Hur ska jag lösa detta?
Att sätta en fördröjning i onunload tycker inte jag är speciellt snyggt.

colioneMedlem sedan juni 20014 421 inlägg
#2

Du jag har själv inte arbetat med prototype då jag tycker att det är ett bibliotek från helvetet. :) Det känns lite onödigt att skriva en "ruby dialekt" i javascript tycker jag.

Men som all standard ajax måste du kunna ta reda på när ditt anrop är klart genom metoden onreadystatechange och/eller responsestatus.

AddeladdeMedlem sedan jan. 20013 406 inlägg
#3

Vad rekommenderar du för bibliotek? Anledningen till att jag kör prototype är för att många andra bibliotek använder sig av prototype som t.ex. lightbox, script.aculo.us.

Ska kolla på det du föreslog.

AddeladdeMedlem sedan jan. 20013 406 inlägg
#4

Fanns ett option där man kunde sätta onComplete: //kod

colioneMedlem sedan juni 20014 421 inlägg
#5

Det låter som det du ska använda. :)

Om jag prompt skulle använda ett bibliotek skulle jag ha använt, jQuery eller YUI.

Lightbox finns i en variant för jQuery också t.ex thickbox: http://jquery.com/demo/thickbox/

YUI bör ha något liknande också. Jag säger inte att du prompt ska byta när du rean r mitt uppe i en utveckling, utan kanske överväga att välja ett annat till nästa gång.

AddeladdeMedlem sedan jan. 20013 406 inlägg
#6

Ska kolla på de biblioteken. Tack!

131 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)