webForumDet fria alternativet

uppdatera innehållet i två frames med en server-anrop i mellan

JavaScript

3 svar · 227 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Frågan#1

Hej!

Jag har två frames: a och b.

Hur får jag innehållet i frame b att uppdateras EFTER att händelsen efter knapp-tryckningen i frame a har skett?

Dvs:

  1. användaren trycker på en form-knapp i frame a, varvid en förfrågan skickas till servern, som sedan behandlar förfrågan. Servern skickar användaren tillbaks till samma sida som skickade förfrågan, desutom i samma frame

  2. Nu uppdateras även innehållet i frame b

Medlem sedan maj 20012 237 inlägg
#2

Hah!

Det blev ett rätt så fult hack men som dock fungerar.

La in ett delay i koden på server sidan så att den inte returnerar svaret genast. På detta vis utförs det tidigare anropet.

Men har någon ett bättre svar så är jag tacksam för det.

EDIT:

Så här gjorde jag:

I form-taggen i frame a så skickas en förfrågan till servern när man trycker på "submit". Samtidigt genereras ett onClick event som dynamiskt med Javascript uppdaterar innehållet i frame a:

parent.frames['a'].location="/Controller?xxxxxx";

/Controller?xxxxxx är egentligen en dummy, vars enda uppgift är att sova i x ms. Under den tiden hinner den riktiga anropet besvaras. På detta sättet får jag innehållet i två frames att uppdatera med en anrop på servern emellan

Medlem sedan juni 2004533 inlägg
#3

Uppdatera frame b med ett javascript som du lägger i sidan som du skapar för frame a.

<body onload="parent.frames.b.location.reload(true);">

Medlem sedan maj 20012 237 inlägg
#4

men påängen är att ett server-anrop måste ske före den sista framen uppdateras

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)