Lid |
|
Hallo,
Ik heb een ratingsysteem dat werkt met ajax, klik je op een ster dan wordt je stem toegevoegd en veranderd de ster naar wat de nieuwe rating is, ook komt eronder te staan 'bedankt voor je stem'. Dat werkt, maar nu wil ik die functie toepassen op meerdere plekken op de pagina en dus zou je meerdere divs moeten hebben (bijv. div1, div2, div3, div4).
Nu zou ik die functie zo kunnen aanroepen: functie(3, 'div4')
Waar 3 slaat op welke ster is geklikt en 'div4' in welke div moet worden geüpdated.
Nu is dit mijn functie:
function rating(pid, waarde, tabel)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
xmlHttp.onreadystatechange=stateChangedaddrating
xmlHttp.open("GET","rating.php?pid="+escape(pid)+"&waarde="+escape(waarde)+"&tabel="+escape(tabel),true)
xmlHttp.send(null)
}
function rating(pid, waarde, tabel) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } xmlHttp.onreadystatechange=stateChangedaddrating xmlHttp.open("GET","rating.php?pid="+escape(pid)+"&waarde="+escape(waarde)+"&tabel="+escape(tabel),true) xmlHttp.send(null) }
Deze functie wordt aangeroepen en zal de div veranderen:
function stateChangedaddrating()
{
if (xmlHttp.readyState==4)
{
if(xmlHttp.status == 200)
{
document.getElementById('ratingdiv').innerHTML=xmlHttp.responseText
}
else
{
alert("Probleem met het request!");
}
}
}
function stateChangedaddrating() { if (xmlHttp.readyState==4) { if(xmlHttp.status == 200) { document.getElementById('ratingdiv').innerHTML=xmlHttp.responseText } else { alert("Probleem met het request!"); } } }
In die laatste functie staat dus ook welke div, nu zou ik dus in die functie meekunnen geven welke div het moet worden, nu staat dat vast (ratingdiv).
Bij de eerste functie zou ik dan moeten doen:
xmlHttp.onreadystatechange=stateChangedaddrating(divnaam), maar dat werkt niet als ik de tweede functie zo heb dat deze 'divnaam' als div gebruikt om het te vervangen.
Kan het wel? Wat doe ik fout?
Alvast bedankt!
Grt,
Sven
Edit:
Heb geprobeerd om in de eerste functie een globale var aan te maken: var abc=iets
Deze probeerde ik in de andere functie op te roepen maar bleek niet te bestaan....
|