Автор Тема: JS и массив  (Прочитано 3316 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
JS и массив
« : 01 Февраля 2008, 16:22:57 »

this
.send_ajax=function(name,mas){
	

	
	
alert(\'good8\');
	
	

	
	
var str="";
	
	
for(item in mas){
	
	
	
alert(item);
	
	
	
str+="<input type=\\"hidden\\" name=\\""+item+"\\" value=\\""+mas[item]+"\\">";
	
	
}
	
	
alert(\'good9\');
	
	
document.getElementById(name).innerHTML=str;
	
	

	
	
this.run_ajax(false);
	

	
	
document.forms[name].submit();
	
}
	
//Change Data
	
this.change_data=function(id){
	
	

	
	
var ajax_value= new Array();
	
	
ajax_value[\'id_block\']=id;
	
	
ajax_value[\'date_from\']=document.getElementById(\'room_date_from_\'+id).value;
	
	
ajax_value[\'date_to\']=document.getElementById(\'room_date_to_\'+id).value;
	
	
ajax_value[\'room_key\']=document.getElementById(\'select_room_\'+id).value;
	
	
alert(ajax_value.length);
	
	
this.send_ajax(\'form_room_ajax\',ajax_value);
	
	

	
}

вот дава метода из обьекта, один вызывает другой,
В FireFox работает, в IE нехочет, выводит alert(ajax_value.length) => 0 потом \'good8\', и до  \'good9\' выдает ошикбку.
Почему IE не нравится мой массив "ajax_value"?
Не все является тем чем кажется.

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
JS и массив
« Ответ #1 : 06 Февраля 2008, 11:36:32 »
Вижу никто не заметил ошибку те кто знает ее,
тем кто не вкурсе: В цикле

 
for(item in mas){ 
            
alert(item);
            
str+="<input type=\\"hidden\\" name=\\""+item+"\\" value=\\""+mas[item]+"\\">";
        }

Для IE недопустимо переменная с именем "item".
Меняем например на item2 и все наченает работать.
Не все является тем чем кажется.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28