Duh!
Jag hade glömt att göra en ny
var req2 = createXMLHttpRequest();
och döpa dem till req2 i den andra funktionen, nu fungerar det, vad pinsamt! :r
3 svar · 370 visningar · startad av UrMe
Jag har en Ajax lösning som fungerar så där..
Den triggar "createGroup" och när den är klar ska "getGroups" köras, detta fungerar som det ska i Internet Explorer 7, men funkar inte som det ska i Firefox av någon anledning. I Firefox så visas getGroups() resultat där createGroup() resultatet ska visas.
Så här ser Ajax funktionerna ut:
getGroups körs om createGroup lyckades.
function createGroup() {
var newgroup = document.getElementById("newgroup").value;
req.open("GET", "includes/ajax/groups.ajax.php?action=create&newgroup="+escape(newgroup), true);
req.onreadystatechange = handlecreateGroupResp;
req.send(null);
}
function handlecreateGroupResp() {
document.getElementById('newgroup_answer').style.width = '432px';
document.getElementById('newgroup_answer').style.padding = '10px';
document.getElementById('newgroup_answer').style.fontSize = '11px';
if(req.readyState == 4){
//var response = req.responseText;
//document.getElementById('loginmsg').innerHTML = response;
if (req.responseText == "Success!") {
document.getElementById('newgroup_answer').style.backgroundColor = '#00ed2d';
document.getElementById('newgroup_answer').innerHTML = "Den nya gruppen har sparats!";
document.getElementById("newgroup").value = "";
getGroups();
} else {
//document.getElementById('loginmsg').style.setProperty("background-color", "#c0c0c0", null);
document.getElementById('newgroup_answer').style.backgroundColor = '#de0000';
document.getElementById('newgroup_answer').innerHTML = req.responseText;
document.getElementById("newgroup").value = "";
}
} else {
document.getElementById('newgroup_answer').innerHTML = "Skapar gruppen...";
document.getElementById('newgroup_answer').style.backgroundColor = '#6699cc';
}
}
function getGroups() {
req.open("GET", "includes/ajax/groups.ajax.php?action=list", true);
req.onreadystatechange = handlegetGroupResp;
req.send(null);
}
function handlegetGroupResp() {
if(req.readyState == 4){
document.getElementById('currentgroups_answer').style.backgroundColor = 'transparent';
document.getElementById('currentgroups_answer').innerHTML = req.responseText;
} else {
document.getElementById('currentgroups_answer').style.backgroundColor = 'transparent';
document.getElementById('currentgroups_answer').innerHTML = "Listar nuvarande grupper...";
document.getElementById('currentgroups_answer').style.backgroundColor = '#6699cc';
}
}
Jag är ingen hejare på Javascript men enligt mig borde det där fungera.
Det är en knapp som triggar createGroup() så här:
<input type="submit" value="Spara" name="submit" class="submit" onclick="javascript:createGroup();" />
Vad kan vara fel när det fungerar i IE men inte i Firefox?
Duh!
Jag hade glömt att göra en ny
var req2 = createXMLHttpRequest();
och döpa dem till req2 i den andra funktionen, nu fungerar det, vad pinsamt! :r
D'oh, missade att frågan var löst :)