Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не работает в других браузерах кроме IE
 
 автор: saider   (15.10.2010 в 15:47)   письмо автору
 
 

народ, я вот написал такой вот скриптик,
function sr(id_cat, id_c){
var teg = document.forms[0].miltiSel;
var element = document.getElementById('miltiSel');

var div = new Array( 'div', 'div_c', 'div_p');
var numer = new Array( id_cat, id_c, '0');

for(var i=0;i<teg.length;i++){

if(element.value==i){

for(var s=0; s<=numer[i]; s++) {
document.getElementById(div[i]+'['+s+']').style.display="block";
if(numer[i]!=="0"){
document.getElementById(div[i]+'['+s+']').innerHTML = "<input style=\"width: 18px;height: 18px;\" type=\"radio\" name=\"menu\" value=\"\">";
}else{
document.getElementById(div[i]+'['+s+']').value = (id_cat+1)+"_x_x";
}
}

}else{
for(var s=0; s<=numer[i]; s++) {
document.getElementById(div[i]+'['+s+']').style.display="none";
}
}

}
}

но в IE работает, а на других браузерах проверял, это как в Opera и Mazila не работает, в чем я допустил ошибку?

  Ответить  
 
 автор: mihdan   (19.10.2010 в 00:16)   письмо автору
 
   для: saider   (15.10.2010 в 15:47)
 

А где сам HTML?

PS: Mazila - Mozilla

  Ответить  
 
 автор: АЯ   (19.10.2010 в 02:06)   письмо автору
 
   для: saider   (15.10.2010 в 15:47)
 

Положим, Вы - это элемент формы.
Форма (в которой Вы являетесь элементом) - первая на странице.
Тогда Вас можно поместить в переменную . Вот так:
var teg = document.forms[0].saider

И всё будет правильно.

Покуда браузер не увидит Ваше условие i<teg.length

teg.length - это что?
Это Ваш рост в сантиметрах?
Или Ваш вес в килограммах?
Или же Ваш возраст в годах?

Непонятно?
Вот и браузеру непонятно - что же именно Вы имели в виду.

Кстати, браузеру также непонятно - чем document.forms[0].miltiSel отличается от document.getElementById ('miltiSel')
По сути это одно и то же.
Но у Вас почему-то это два разных объекта.

  Ответить  
 
 автор: SaIdEr   (23.10.2010 в 00:59)   письмо автору
 
   для: АЯ   (19.10.2010 в 02:06)
 

А переделать надо было первых две строчки на такое вот
 var tip = document.forms[0].miltiSel;
 var element = document.getElementsByName('miltiSel')[0];

  Ответить  
 
 автор: АЯ   (23.10.2010 в 01:26)   письмо автору
 
   для: SaIdEr   (23.10.2010 в 00:59)
 

Нет, НЕ НАДО БЫЛО.

И Вы можете это сами проверить и в правильности моих слов убедиться.

После первых двух этих Ваших строчек напишите alert ((tip == element)); и запустите код в браузере.

И Вы увидите окошко со словом true, что означает, что это - ОДИН и ТОТ ЖЕ ОБЪЕКТ, к которому Вы в первый раз обратились по его фамилии-имени-отчеству, а во второй раз - только по имени.

И нахрена, спрашивается, один и тот же объект держать в двух разных переменных?
:-))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования