2012-04-08 3 views
0

여기 내 문제입니다. jQuery를 사용하여 xmlhttpRequest의 responseText를 기반으로 텍스트 필드의 CSS 스타일을 변경하려고합니다. 회사 이름이 이미 사용중이라면 php 파일은 "이미 취한 회사 이름"을 표시합니다. 그리고 나는 comp_stat 박스 배경을 빨간색으로 바꾸기를 원한다. 회사 이름이 고유하면 php 파일은 "회사 이름 확인"을 표시하고 comp_stat 상자 배경이 녹색으로 바뀌도록합니다.CSS 스타일을 xmlhttp.responseText를 기준으로 변경하십시오.

이것은 자바 스크립트입니다 - 선택한 텍스트는 작동하지 않는 부분입니다.

xmlhttp.onreadystatechange = function(){ 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
     document.getElementById("comp_stat").value = xmlhttp.responseText; 

     /*Not working part*/ 
     if(xmlhttp.responseText == 'Company Name Already Taken.'){ 
      document.getElementById("comp_stat").style.backgroundColor = "red"; 
     } 
     if(xmlhttp.responseText == 'Company Name OK!'){ 
      document.getElementById("comp_stat").style.backgroundColor = "green"; 
     } 
     /*----------------*/ 
} 

이에 시간 동안 내 머리를 긁적하고, 아마 간단한 수정의 ... 어떤 도움도 대단히 감사하겠습니다!

+1

코드는 텍스트 필드에 대한 참조와 응답 텍스트를 변수에 저장하기 위해 리팩터링 될 수 있지만 작동해야합니다. 다시 올 텍스트가 예상 한 것과 일치하는지 확신합니까? 선행 공백이나 그런 건 없나요? –

답변

0

강조 표시된 부분에는 문제가없는 것 같습니다.

그러나 어쩌면 코드의 다른 부분에 오류가있을 수 있습니다. 웹 검사기 나 디버거를 사용하여 디버깅하는 것이 좋습니다. Chrome의 개발자 도구 (실제로는 Apple의 도구)를 정말 좋아합니다. 사용하기 쉽습니다. 오류가 있으면 오류를 표시하고 줄 번호도 볼 수 있습니다. 오류가 어디 enter image description here

그것은 표시됩니다. 굉장히 유용하다.

+0

나는 JavaScript 디버깅보다 다른 모든 방법으로 파이어 버그만큼 좋았 더라. 그것은 새로운 파이어 폭스 검사기에 대해 두 가지로 간다. 왜 그들은 합리적인 라이센스 조건으로 훨씬 더 나은 것이 이미 존재할 때 아무런 이익도 얻지 못하고 "여기에 발명되지 않은"게임을하는 것을 주장합니까? –

관련 문제