Проблемы с Ajax в IE / Firefox - PullRequest
1 голос
/ 21 мая 2009

Привет, у меня есть ajax-скрипт, который проверяет информацию о пользователях, помещенную в текстовые поля. В Internet Explorer это работает нормально, но в FireFox я получаю ошибку при получении пола из списка. У меня есть пол, который будет помещен в скрытое текстовое поле для облегчения обработки. Я получаю ошибку в FF:

дд ноль [Прервать эту ошибку] ​​theindex = dd.options [dd.selectedIndex] .value;

Моя функция в javascript ниже, она загружается при загрузке тела или после изменения выбранного пола,

функция get_gender () {
{

    var dd = document.getElementById("gender_select");
    theindex = dd.options[dd.selectedIndex].value;
    thevalue = dd.options[dd.selectedIndex].text;
    }

    document.getElementById("gender_text").value = thevalue;    

}  

Еще одна проблема, с которой я столкнулся, это скрытие блока div, это прекрасно работает в любом другом браузере, но не в IE. Он должен показывать блок div только после появления ошибки, но в IE блок div всегда отображается.

Я использую эту строку для этого: document.getElementById ("username_div"). style.visibility = "hidden";

Вместо вставки всего моего кода живую страницу можно просмотреть по адресу

http://elliottstocks.com/assignment/sign_up/ Не обращайте внимания на окно входа, это отлично работает.

Любые комментарии / помощь будут оценены. Большое спасибо =)

Ответы [ 3 ]

3 голосов
/ 21 мая 2009

getElementByID требует, чтобы элемент HTML имел идентификатор, просто имя недостаточно.

<select name="gender_select" id="gender_select" onChange="get_gender()">
  <option>Male</option> <option>Female</option>  
</select>
2 голосов
/ 21 мая 2009

Для изменения нулевой ошибки:

<select onchange="get_gender()" name="gender_select">

до

<select onchange="get_gender()" name="gender_select" id="gender_select">

document.getElementById ищет элемент в DOM, имеющий заданный атрибут id. Причина, по которой он работает в IE, заключается в том, что он также позволяет выбирать по атрибуту name.

0 голосов
/ 21 мая 2009

Для вашей второй проблемы вы можете попробовать display = 'none'; для вашей стихии. Имейте в виду, что это поведение отличается от видимости = скрыто.

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