|
|
|
| народ, я вот написал такой вот скриптик,
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 не работает, в чем я допустил ошибку? | |
|
|
|
|
|
|
|
для: saider
(15.10.2010 в 15:47)
| | А где сам HTML?
PS: Mazila - Mozilla | |
|
|
|
|
|
|
|
для: saider
(15.10.2010 в 15:47)
| | Положим, Вы - это элемент формы.
Форма (в которой Вы являетесь элементом) - первая на странице.
Тогда Вас можно поместить в переменную . Вот так:
var teg = document.forms[0].saider;
|
И всё будет правильно.
Покуда браузер не увидит Ваше условие i<teg.length
teg.length - это что?
Это Ваш рост в сантиметрах?
Или Ваш вес в килограммах?
Или же Ваш возраст в годах?
Непонятно?
Вот и браузеру непонятно - что же именно Вы имели в виду.
Кстати, браузеру также непонятно - чем document.forms[0].miltiSel отличается от document.getElementById ('miltiSel')
По сути это одно и то же.
Но у Вас почему-то это два разных объекта. | |
|
|
|
|
|
|
|
для: АЯ
(19.10.2010 в 02:06)
| | А переделать надо было первых две строчки на такое вот
var tip = document.forms[0].miltiSel;
var element = document.getElementsByName('miltiSel')[0];
|
| |
|
|
|
|
|
|
|
для: SaIdEr
(23.10.2010 в 00:59)
| | Нет, НЕ НАДО БЫЛО.
И Вы можете это сами проверить и в правильности моих слов убедиться.
После первых двух этих Ваших строчек напишите alert ((tip == element)); и запустите код в браузере.
И Вы увидите окошко со словом true, что означает, что это - ОДИН и ТОТ ЖЕ ОБЪЕКТ, к которому Вы в первый раз обратились по его фамилии-имени-отчеству, а во второй раз - только по имени.
И нахрена, спрашивается, один и тот же объект держать в двух разных переменных?
:-)) | |
|
|
|