У меня проблема с внутренней функцией HTML при обновлении параметров тега.В первом теге select я выбираю страну, а код ajax должен обновить города в другом теге select.Мой код работает во всех основных браузерах, кроме IE.Вот код js для вызова php-скрипта:
>function show_zones(str)
>{
>if (window.XMLHttpRequest)
> {// code for IE7+, Firefox, Chrome, Opera, Safari
> xmlhttp=new XMLHttpRequest();
> }
>else
> {// code for IE6, IE5
> xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
> }
>xmlhttp.onreadystatechange=function()
> {
> if (xmlhttp.readyState==4 && xmlhttp.status==200)
> {
> document.getElementById('region_to').innerHTML="";
> jQuery.noConflict();
> (function($) {
> $('#region_to').append(xmlhttp.responseText);
> })(jQuery);
> alert(xmlhttp.responseText);
> }
> }
>xmlhttp.open("GET","ajax/zones.php?country="+str,true);
>xmlhttp.send();
>}
Во всех браузерах с предупреждением код возвращает соответствующие теги опций, но в IE он возвращает «Undifined».Я использую Jquery для добавления xmlhttp.responseText, потому что IE не поддерживает innerhtml для выбранных тегов.Функция noConflict используется, чтобы избежать конфликта между mootolls и библиотеками jquery.Я не могу просто поместить тег select в div и распечатать его вместо печати только параметров, потому что я использую пользовательский выбор, который создается кодом js, когда происходит событие window.onload.код:
>require_once("../../connect.php");
>$country_query="SELECT* FROM `tour_countries` WHERE >country_name='".$_GET['country']."'";
>$country_result=mysql_query($country_query);
>$country_row=mysql_fetch_array($country_result);
>$zone_query="SELECT* FROM `tour_zones` WHERE country_ID='".$country_row[0]."'";
>$zone_result=mysql_query($zone_query);
>while($zone_row=mysql_fetch_array($zone_result))
>{
> echo '<option value="'.$zone_row[1].'">'.$zone_row[1].'</option>';
>}
Спасибо за ответы и извините за мой бедный английский.