Hello! I've been creating a user creation script with some vaidation using xmlhttprequest. Unfortunately, the if...else... statement in verify_handleHttpResponse() is refusing to play ball. No matter what the content of http.responseText is, the loop will always carry out the ...else... segement. Does anyone have any idea why? <script language="javascript"> var usrid; var usrtitle; var usrname; var conf_url; var response; function confirm_Usr() { usrid = document.getElementById('usr_id').value; usrtitle = document.getElementById('usr_title').value; usrname = document.getElementById('usr_name').value; space = " "; document.getElementById('td_usr_warning').innerHTML = " "; conf_url = "./decom_validate_usr.php?usr=" + usrid; http.open("GET", conf_url, true); http.onreadystatechange = verify_handleHttpResponse; http.send(null); } function cancel_Usr() { document.getElementById('td_usr_id').innerHTML = '<input type="text" id="usr_id" value="' + usrid + '">'; document.getElementById('td_usr_title').innerHTML = '<input type="text" id="usr_title" value="' + usrtitle + '">'; document.getElementById('td_usr_name').innerHTML = '<input type="text" id="usr_name" value="' + usrname + '">'; document.getElementById('tr_usr_pwd').style.display = ""; document.getElementById('usr1').style.display = "none"; document.getElementById('usr2').style.display = ""; document.getElementById('usr3').style.display = "none"; } function verify_handleHttpResponse() { if (http.readyState == 4) { response = http.responseText; if (response == "not") { document.getElementById('td_usr_id').innerHTML = space + usrid; document.getElementById('td_usr_title').innerHTML = space + usrtitle; document.getElementById('td_usr_name').innerHTML = space + usrname; document.getElementById('tr_usr_pwd').style.display = "none"; document.getElementById('usr1').style.display = ""; document.getElementById('usr2').style.display = "none"; document.getElementById('usr3').style.display = ""; } else { document.getElementById('td_usr_warning').innerHTML = "User ID already exists"; } } } function getHTTPObject() { var xmlhttp; /*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } return xmlhttp; } var http = getHTTPObject(); </script> Code (markup): By the way, changing the if statement to (response != "not") will run the top part of the statement. Alerting the output of http.repsonseText shows the correct message being returned. This is driving me barmy! Please help!
I've tested your script and have no problem in the client side. Use a debugger such as Microsoft Script Debugger may help to solve your problem. update: add the following header may help you debugging <?php header("Cache-Control: no-cache") ?> Code (markup):