Обработка JS в FireFox
Здравствуйте,
у меня такой код: function check_form(){ var fields = Array('surname','name','birthdate_day','birthdate_year','country','city','address','index','city_code','phone','email'); for(i=0; i<fields.length; i++){ if (document.getElementById(fields[i]).value==''){ alert('Все поля обязательны для заполнения.'); document.getElementById(fields[i]).focus(); return false; } } return true; } проверяет, все ли поля формы заполнены перед отправкой. Если ошибок нет, то document.getElementById('SubmitBtn').disabled=false, где 'SubmitBtn' - кнопка отправки, неактивная по умолчанию. В IE и Opera - все прекрасно отрабатывает, а вот в FireFox, в консоли ошибок: Ошибка: document.getElementById(fields[i]) has no properties Почему так? Почему он не подставляет значение из массива, а подставляет 'fields[i]'? |
Лучше for(var i...), а не for(i ...)
Кроме того, не var fields = Array ..., а var fields = ['surname','name',...,'email'] Поправьте и попробуйте еще раз. |
Сделал квадратные скобки и получил ошибку в строке:
for(var i=0; i<fields.length; i++){ "length" есть null или не является объектом в IE, Ошибка: fields has no properties в Мозилле. :confused: ??? |
var fields = ['surname','name','email'] alert(fields.length) Вот такой пример у меня работает и честно выводит 3. В мозилле. |
Хочу уточнить: под мозиллой мы понимаем Mozilla Firefox 2.0.x.x.x?
Вобщем, вариант с описанием массива квадратными скобочками не работает ни в Firefox, ни в IE. Нашел проблему: среди списка полей у меня в массиве есть country, которая представляет из себя выпадающий список. так вот на этом списке скрипт и останавливается. Как же проверить выбрано ли что либо в выпадающем списке, кроме как: if (document.getElementById(fields[i]).value==''){ alert('Выберите страну'); } ? По умолчанию там стоит: <select name="country"> <option value="" selected="selected">----- Выберите Вашу страну ------</option> ... (тут список) ... </select> |
selectedIndex свойство посмотри.
Вот кстати MSDN-линк на него http://msdn2.microsoft.com/en-us/library/ms534624.aspx |
Нашел, в чем была проблема: отсутсвовал ID. Я и не заметил.
Правильно так: <select name="country" id="country"> <option value="" selected="selected">----- Выберите Вашу страну ------</option> ... тут список стран ... </select> Спасибо за помощь. |
используй var massive=new Array("","","...")
|
Часовой пояс GMT +3, время: 20:15. |