2013-02-19 3 views
0

아래의 코드 조각 검토하십시오 :내 XAJAX 호출이 PHP를 통해 NULL을 반환하면 IE에 표시됩니다 (그러나 아무 것도 표시하지 않음).이를 수정하는 방법은 무엇입니까?

첫째, 자바 스크립트 호출 :

function getNewSelect(property_id){ 
    xajax_getSelectDropDown(unique_id); 
    $(".chzn-select").chosen(); 
} 

다음, PHP XAJAX 기능 :

<div id="subDiv"></div> 
:

function getSelectDropDown($unique_id){ 
    //CODE ABOVE THIS POINT HAS BEEN REMOVED, IT IS IRRELEVENT FOR THIS EXAMPLE 

     //Code for if no matches were found: 
     $html2 = NULL; 

     $objResponse = new xajaxResponse(); 
     if(mysql_num_rows($result) > 0){ 
      $objResponse->assign('subDiv', 'innerHTML', $html); 
     }else{ 
      $objResponse->assign('subDiv', 'innerHTML', $html2); 
     } 

     $objResponse->script("$('.chzn-select-ajax').chosen();"); 

    return $objResponse; 
} 

마지막으로 여기에 HTML 코드입니다

위의 PHP 함수가에 들어가면이고 $html2을 할당합니다. 사용자에게 아무 것도 표시되지 않을 것으로 예상됩니다. 대부분의 브라우저에서는 괜찮습니다. 완벽하게 작동합니다. 그 결과 인 경우

: 불행하게도 인터넷 익스플로러에 (IE 9 나는 다른 버전을 테스트 할 수 없었던, 확인할 수)은, 실제로는 다음과 같은 곳 DIV 호출을 표시 찾았지만 else을 처리하지 않으면 모든 브라우저에서 올바르게 작동하고 새로운 드롭 다운이 표시됩니다.

이 문제를 해결하려면 어떻게해야합니까? IE와 관련하여 알려진 문제입니까? 감사. 여기로

내가 그래서 혼란이 없다 추가 할의 CHZN 호출, 드롭 다운에 스타일을 추가하는 단지입니다 : http://harvesthq.github.com/chosen/

답변

1

더 나은 사용이 :

if(mysql_num_rows($result) > 0){ 
     $objResponse->assign('subDiv', 'innerHTML', $html); 
    }else{ 
     $objResponse->assign('subDiv', 'innerHTML', ''); 
    } 

IE가 표시되고 널 (null)을 왜냐하면 $ html2 = NULL ...... $ html2 = ""또는 이와 비슷한 것으로 시도해보십시오.)

Saludos.

+0

와우, 그렇게 쉬웠다. 감사. – Shackrock

+0

환영합니다 ..... 내 프로젝트에서 xajax를 많이 사용합니다 ... 그러니 XD를 걱정하지 마십시오. – Hackerman