Ajax Call работает только в первый раз - PullRequest
0 голосов
/ 25 февраля 2011

Мой код javascript / ajax работает в первый раз, но не там после.Элемент GetAttribute является нулевым, когда функция вызывается снова.Я попытался использовать createElement и AppendChild, но он делает то же самое.Если бы мне не нужен getAttribute, он бы работал нормально, но я не могу заставить функцию работать с методом getAttribute.Любая помощь будет оценена.

function ajaxFunction(Picked) { 
var getdate = new Date();
 if(xmlhttp) { 
    var Pic1 = document.getElementById("Pic1").getAttribute("name");
    var Pic2 = document.getElementById("Pic2").getAttribute("name");
    if (Picked === Pic1 ){
    var Chosen = Pic1;
    var NotChosen = Pic2;
}
else {
    var Chosen = Pic2;
    var NotChosen = Pic1;
}
    xmlhttp.open("POST","choice.php",true);
    xmlhttp.onreadystatechange  = handleServerResponse;
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send("Chosen=" + Chosen + "&NotChosen=" + NotChosen );
    }
 }

function handleServerResponse() {
  if (xmlhttp.readyState == 4) {
  if(xmlhttp.status == 200) {
       var response = xmlhttp.responseText;
       response = response.split("|");
       document.getElementById('Pic1').innerHTML = response[0];//New Pic
       document.getElementById('Pic2').innerHTML = response[1];        
  }
  else {
    alert("Error. Please try again");
  }
 }
}

1 Ответ

1 голос
/ 25 февраля 2011

Измените if на

if (Picked === Pic1)

. Если написать if (Picked = Pic1 ), вы назначаете Picked на Pic1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...