Kom ihåg mig?
Home Menu

Menu


Mer än bara en Ajax funktion i ett script

Ämnesverktyg Visningsalternativ
Oläst 2007-04-09, 17:05 #1
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
Jag vill kunna ha flera olika div:ar som uppdaterar sig på bestämd tid och hämtar te.x en varsin rss-feed edyl.
Problemet är att jag lyckas bara få en av div:arna att hämta informationen, att få 2 eller 3 som hämtar samma går men jag kan inte byta källa.

ag lyckas bara få ett ajax script att fungera åt gången, när jag gör på detta sätt.

KOD:
Kod:
function ajax() {
  if(navigator.appName == "Microsoft Internet Explorer"){
    xml = new ActiveXObject("Microsoft.XMLHTTP");
  }else{
    xml = new XMLHttpRequest();
  }  
  xml.onreadystatechange = Response;
  xml.open('GET','tid.php',true);
  xml.send(null);
  setTimeout ("ajax()", 5000);
}
function Response() {
  if (xml.readyState == 4 && xml.status == 200) {
    document.getElementById('live').innerHTML = xml.responseText;
  }
}
sen anropas den i en div med id=live.

funkar kanon såhär långt, och div:en gör precis vad tid.php säger att den ska göra osv.

Men hur gör jag om jag vill att en annan div med id=live2 ska göra vad som står i tex. tid2.php?

tacksam för svar
bassan är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-09, 17:50 #2
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
Skapa flera XML objekt...
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-09, 18:24 #3
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
Citat:
Originally posted by hnn@Apr 9 2007, 16:50
Skapa flera XML objekt...

Tackar! Problemet är bara att jag inte vet hur du menar. Lust att förklara lite mer ingående med ett exempel?

Tack för ditt snabba svar!
bassan är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-09, 19:03 #4
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
antingen kopierar du javascriptfunktionerna eller så gör du om befintlig så du kan använda samma funktion till att utföra båda kommandon.

Kod:
function ajax(pageurl,divid) {
  if(navigator.appName == "Microsoft Internet Explorer"){
    xml = new ActiveXObject("Microsoft.XMLHTTP");
  }else{
    xml = new XMLHttpRequest();
  } 
  xml.onreadystatechange = Response(divid);
  xml.open('GET',pageurl,true);
  xml.send(null);
  
//setTimeout ("ajax()", 5000);
}
function Response(divId) {
  if (xml.readyState == 4 && xml.status == 200) {
    document.getElementById(divId).innerHTML = xml.responseText;
  }
}

setTimeout ("ajax('tid.php','live1'); ajax('tid2.php','live2')", 5000);
Något sådant här kanske...
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-09, 21:34 #5
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
Jätte snällt jag förstår ungefär scriptet men javascript är inte mitt område direkt och för att jag inte ska prova mig fram hela kvällen så undrar jag:

Kod:
<body onload="ajax();">
ska det vara ajax(pageurl,divid) eller hur ska den vara? har nämligen testat lite olika men får det inte att fungera tyvärr.

samma med:
Kod:
<div id="live"><div>
ska det vara så eller ska den också ändras?


ber om ursäkt för mig okunskap och om detta ska vara jätte basic men försöker lära mig, gillar det det gör!
bassan är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-09, 22:23 #6
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Citat:
Originally posted by bassan@Apr 9 2007, 20:34
Jätte snällt jag förstår ungefär scriptet men javascript är inte mitt område direkt och för att jag inte ska prova mig fram hela kvällen så undrar jag:

Kod:
<body onload="ajax();">
ska det vara ajax(pageurl,divid) eller hur ska den vara? har nämligen testat lite olika men får det inte att fungera tyvärr.

samma med:
Kod:
<div id="live"><div>
ska det vara så eller ska den också ändras?


ber om ursäkt för mig okunskap och om detta ska vara jätte basic men försöker lära mig, gillar det det gör!
Det ska väl vara typ

Kod:
<body onload="ajax('http://www.rssurl1.com','liv...41;;">
..etc.

Kod:
<div id="live1"><div>
<div id="live2"><div>
<div id="live3"><div>
Robert är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-09, 22:54 #7
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
Har testat det mesta nu och det funkar inte ens med 1 källa till en div.

Här är koden jag använder nu som inte funkar.

Kod:
<head>


<script type="text/javascript">
function ajax(pageurl,divid) {
 if(navigator.appName == "Microsoft Internet Explorer"){
   xml = new ActiveXObject("Microsoft.XMLHTTP");
 }else{
   xml = new XMLHttpRequest();
 } 
 xml.onreadystatechange = Response(divid);
 xml.open('GET',pageurl,true);
 xml.send(null);

}
function Response(divId) {
 if (xml.readyState == 4 && xml.status == 200) {
   document.getElementById(divId).innerHTML = xml.responseText;
 }
}
setTimeout ("ajax('tid1.php','live1')", 5000);
</script>
</head>

<body onload="ajax('tid.php','live1');">

<div id="live1"></div>

</body></html>
bassan är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-10, 04:01 #8
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
Testade faktiskt det inlägget som från början gav mig minst, men efter att jag lärt mig lite javascript till så förstod jag, iallafall lite mer.

Dock blev lösningen väldigt osmidig och ful, men fungerar iallafall.

Någon som kan visa hur man kan trimma min nybörjar-kod?
Kod:
<script type="text/javascript">
var div = 0;
var myDiv = 0;

function ajax(url,div) {
myDiv = div;

  if(navigator.appName == "Microsoft Internet Explorer"){
    xml = new ActiveXObject("Microsoft.XMLHTTP");
  }else{
    xml = new XMLHttpRequest();
  }

  xml.onreadystatechange = Response;
  xml.open("GET", url,true);
  xml.send(null);
  setTimeout ("ajax('tid.php','ett')", 5000);
}

function Response() {
  if (xml.readyState == 4 && xml.status == 200) {
    document.getElementById(myDiv).innerHTML = xml.responseText;
}

}
</script>

<script type="text/javascript">
var ddiv = 0;
var mmyDiv = 0;

function aajax(uurl,ddiv) {
mmyDiv = ddiv;

  if(navigator.appName == "Microsoft Internet Explorer"){
    xxml = new ActiveXObject("Microsoft.XMLHTTP");
  }else{
    xxml = new XMLHttpRequest();
  }

  xxml.onreadystatechange = RResponse;
  xxml.open("GET", uurl,true);
  xxml.send(null);
  setTimeout ("aajax('tid2.php','två')", 5000);
}

function RResponse() {
  if (xxml.readyState == 4 && xxml.status == 200) {
    document.getElementById(mmyDiv).innerHTML = xxml.responseText;
}

}
</script>

</head>
<body onload="ajax('tid.php','ett'); aajax('tid2.php','två');">

<div id="ett">laddar</div>
<div id="två">laddar</div>
</body>
</html>
bassan är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-10, 11:16 #9
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
Kod:
 setTimeout ("aajax('tid2.php','två')", 5000);
Fungerar detta verkligen? Jag har för mig att åäö inte stödjs
Men om det fungerar är det bra, trots fullösningen.

Det skall gå att slå ihop dem, jag hade visserligen inte testat mitt exempel så det kan ha funnits något litet fel. Det finns verktyg som validerar javascriptet - då kan man se på vilken rad det är fel och rätta det.
allstars är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:33.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017