Не удается получить доступ к значению параметра с помощью JavaScript в Internet Explorer - PullRequest
2 голосов
/ 31 января 2010

У меня есть следующие настройки

"<form name=\"mylimit\" style=\"float:left\">
                <select name=\"limiter\" onChange=\"limit()\">
                <option selected=\"selected\">&nbsp;</option>"; ...

Я написал js-скрипт для доступа к выбранному значению ограничителя selectField следующим образом:

 var w = document.mylimit.limiter.selectedIndex;

var url_add = document.mylimit.limiter. options [w] .value ;

// В каждом браузере я получаю ожидаемое значение, кроме Internet Explorer. думаю, что IExplorer не нравится выделенная часть выше. Любая подсказка?

Ответы [ 3 ]

4 голосов
/ 04 февраля 2010

IE ищет атрибут значения. Похоже, что другие браузеры по умолчанию используют текст, отображаемый в качестве значения, если значение = "" не найдено в теге параметра. Вот что работает во всех основных браузерах.

<form name="mylimit" style="float:left">
    <select name="limiter" onChange="limit()">
        <option selected="selected" value='foo'>bar</option>
    </select>
</form>

<script>
    var index = document.mylimit.limiter.selectedIndex;
    var value = document.mylimit.limiter.options[index].value;
    alert(value); // Alerts 'foo'
</script>

Таким образом, вы можете иметь отдельное значение и отображение для каждой опции.

0 голосов
/ 31 января 2010

document.getElementById("limiter").value тоже работает.

0 голосов
/ 31 января 2010

Вы пробовали один из этих

document.mylimit.limiter.options [document.mylimit.limiter.selectedIndex] .value

или

document.getElementById ( 'Ограничитель'). Параметры [document.getElementById ( 'Ограничитель'). SelectedIndex] .value

Это должно помочь, я думаю

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