2014-01-15 5 views
-1
function ch(x, y) { 
    var h = 'OFF'; 
    document.getElementsByName("ch_u").item(x).innerHTML = "<img src='image/loader.gif' align='absmiddle'>"; 

    var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 

      var c = document.getElementsByName("ch_u").item(x).innerHTML = xmlhttp.responseText; 
      if (c == h) { 
       alert("1"); 
      } else { 
       document.write(c, h); 
      } 
     } 
    } 
    xmlhttp.open("POST", "check.php", true); 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.send('y=' + y); 
} 

всегда идет в ELSE, хотя (с & ч) значение OFF, потому что печать (с & ч) выключен в остальное я думаю, что проблема в (если) ??Состояние не работает Если оператор

+4

Вы уверены, что они точно такие же? Нет вокруг него белого пространства? Что возвращает 'xmlhttp.responseText'? – putvande

+0

Попробуйте записать значение 'c', чтобы узнать, действительно ли это будет – Syjin

+0

Да, я уверен .... – user3001104

ответ

-2

Извините, упущен вопрос. Попробуйте изменить оповещение ('1') на предупреждение (h). Я думаю, что h в вашей функции обратного вызова не то же самое, как h в функции ch.

+0

Прагматик, почему? – user3001104

+0

Попробуйте «alert (h);' в вашей функции обратного вызова, я думаю, что он не будет определен. Если это так, вы должны поместить 'var h = 'OFF';' after 'xmlhttp.onreadystatechange = function() {' – Pragmatist

+0

Прагматист, не может печатать «1», как печатать «h»; print h & c true – user3001104

Смежные вопросы