Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   InnerHTML & IE (https://javascript.ru/forum/css-html-internet-explorer/3804-innerhtml-ie.html)

Лесной_Белк 25.05.2009 13:51

InnerHTML & IE
 
Народ, подскажите плз в чем может быть проблема:

ИЕ выдает неизвестную ошибку. номер строки нереальный. методом алерта нашел, что ошибка вылетает в строке

$.post('selectApplication.php', {contractor:contractorValue}, function date(text){result=text; var target = document.getElementById("appDiv");target.innerHTML = text;});

в ФФ все арботает прекрасно, т.е. все библиотеки подключены, и все четко фунциклирует. Подскажите плз, из-за чего может ругаться ИЕ?
причем еслм алертом выводить text, который возвращает selectApplication.php, то внутри процедуры date алерт не работает, а после процедуры пишет что undefined =(

x-yuri 26.05.2009 01:02

или contractorValue не определена, или возникают ошибки при отправке запроса (например, selectApplication.php не найден)

Цитата:

а после процедуры пишет что undefined
так и должно быть

p.s. не стоит создавать лишних ненужных глобальных переменных (без var создается глобальная переменная):
var result = text; // хотя непонятно, зачем вообще эта переменная

p.p.s. если нужнопередать параметры:
$.post('selectApplication.php', {data:{contractor:contractorValue}}...

sonic13 28.10.2010 17:11

Подстава от IE
 
а у меня вот такой баг в IE все прекрасно работает под все остальные браузеры.
получаю содержимое <select></select> аякс запросом(но не суть важно)

потом присваиваю вот так:
getObj(div).innerHTML= request.responseText;

при этом смотрю отладчиком после выполнения этой команды устанавливаются следующие значения (getObj(div) - моя функция для получения объекта, работает нормально, без нее тоже самое.)


request.responseText =
"<option>-----</option>
<option value="1">ххх</option>
<option value="2">ууу</option>"


getObj(div).innerHTML=
"-----</OPTION>
<OPTION value="1">ххх</OPTION>
<OPTION value="2">ууу</OPTION>"


он зачем так делает?

Aetae 28.10.2010 18:58

Если я правильно понял о чем речь, то каждый браузер приводит код к тому виду который считает правильным. Кто-то любит одинарные кавычки, кто-то двойные, кто-то большие тэги, кто-то маленькие...))

Прошу прощенья, соображал плохо, пара часиков здорового сна помогла.))
В ie не прокатит добавление option через innerHTML.
Юзайте
new Option
.

рони 28.10.2010 23:39

Размышление на тему ...
<select id="sel" ></select>
<script language="JavaScript" type="text/javascript">
var responseText='<option>-----</option><option value="1">ххх</option><option value="2">ууу</option>';
var a=document.getElementById('sel');
a.outerHTML='<select id="sel" >'+responseText+'</select>'
a.innerHTML=responseText
</script>

Aetae 29.10.2010 00:14

Цитата:

Сообщение от рони (Сообщение 76404)
Размышление на тему ...

Ну собсно это тупо затирание старого создание нового. Если такой вариант приемлем, то можно сразу фигачить select целиком.

vinet 12.11.2010 02:47

Аналогичная проблема
 
Помогите пожалуйста. Во всех бразуерах (ФФ, Опера, Хром) работает код отлично, а вот ИЕ ругается
unknown runtime error

$ ('ObjectID').innerHTML = ((Msg != null) ? Msg : DefaultMsg);

ругается на все innerHTML в коде. подскажите что делать?

ObjectID - div элемент

monolithed 12.11.2010 08:46

Цитата:

Сообщение от vinet
$ ('ObjectID').

1. что-то это очень смутно похоже на идентификатор.
2. если используете jQuery то там есть функции html() и text() в вашем случае лучше с ними работать

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
    $('body').append('<div id="div" />').text((1<2) ? 'ok' : 'none');
});
</script>

vinet 12.11.2010 13:31

Цитата:

Сообщение от monolithed (Сообщение 78766)
1. что-то это очень смутно похоже на идентификатор.
2. если используете jQuery то там есть функции html() и text() в вашем случае лучше с ними работать

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
    $('body').append('<div id="div" />').text((1<2) ? 'ok' : 'none');
});
</script>

1. В смысле? Да <div id="ObjectID">Text here</div>

2. Используется mootools.

никак не удается решить проблему (

Kolyaj 12.11.2010 13:43

vinet,
в вашем случае только телепаты помогут.


Часовой пояс GMT +3, время: 16:45.