Мой HTML-раскрывающийся список не будет работать в IE6 - PullRequest
2 голосов
/ 11 июня 2009

Поэтому я использую поле выбора HTML со списком стран и кнопку, чтобы открыть небольшое окно с более подробной информацией о выбранном элементе в поле выбора HTML.

Вот как я это делаю (заранее извиняюсь за нубизм, я все еще довольно новичок в Javascript):

//in header
<script type="text/javascript">
function popUp() 
{
   countryName = document.getElementById("countrylist").value;
   document.write(countryName);
   dest = "countries/" + countryName + ".html";
   window.open(dest, 0, "toolbar=0, scrollbars=0, statusbar=0, menubar=0,resizable=0,width=400,height=400,left=440,top=312");
}
</script>

<form id="countryform">
<select id="countrylist">
        <!--List of countries removed for brevity-->
</select>
<input type="button" name="countryBtn" value="Submit Query" onClick="popUp();">
</form>

Это отлично работает в Firefox, но не в IE6. Любая помощь будет оценена!

ОБНОВЛЕНИЕ: Итак, я попробовал первые два подхода ниже, альтернативная всплывающая функция не работала ни в одном из браузеров, и замена строки document.getElementById ничего не изменила, все еще отлично работает в Firefox не в IE.

Ответы [ 3 ]

6 голосов
/ 11 июня 2009
document.getElementById("countrylist").value;

должно быть:

document.getElementById("countrylist")[document.getElementById("countrylist").selectedIndex].value;
0 голосов
/ 11 июня 2009

Вот как я это исправил:

function popUp() 
{
   var c = document.getElementById("countrylist");
   var countryName = c.options[c.selectedIndex].text;
   var dest = "countries/" + countryName + ".html";
   window.open(dest, 0, "toolbar=0, scrollbars=0, statusbar=0, menubar=0,resizable=0,width=400,height=400,left=440,top=312");
}

Это работает как в IE6, так и в FF3.

Спасибо за помощь в любом случае!

0 голосов
/ 11 июня 2009

Проблема, с которой вы столкнулись, связана с получением названия страны. Я бы изменил вашу всплывающую функцию на:

function popUp() {   

  var e = document.getElementById("countrylist"); 

  var countryName = e.options[e.selectedIndex].value; 

  dest = "countries/" + countryName + ".html";   
  window.open(dest, 0, "toolbar=0, scrollbars=0, statusbar=0, menubar=0,resizable=0,width=400,height=400,left=440,top=312");

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...