Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   8 IE, не работает javascript (https://javascript.ru/forum/css-html-internet-explorer/14619-8-ie-ne-rabotaet-javascript.html)

Сергей1317 23.01.2011 15:09

8 IE, не работает javascript
 
Страница: http://aau.edu.ua/ru/tester9/

Проблема: в ie 8 при переключении radiobutton (денна форма, заочна форма) javascript не работает, а потом даёт ошибку и требует объект (здесь это 34 строка).
Во всех остальных браузерах всё работает хорошо.

Помогите пожалуйста.


сам javascript:


function check_form(value)
{
 
	if(value=="day")
	{
		document.getElementById('facility').innerHTML='<option value="law" SELECTED>правознавство</option><option value="inter_law">міжнародне право</option><option value="trans">переклад</option>';
	}
	else
	{
		document.getElementById('facility').innerHTML='<option value="bakal" SELECTED>бакалаврат</option><option value="master">магістратура</option><option value="second">друга вища освіта</option>';
	}
	
	select_some(document.getElementById("facility").value);
}
 
function select_some(value)
{
		
		document.getElementById("day_law").style.display = "none";
		document.getElementById("day_inter_law").style.display = "none";
		document.getElementById("day_trans").style.display = "none";
		document.getElementById("day_bakal").style.display = "none";
		document.getElementById("day_master").style.display = "none";
		document.getElementById("day_second").style.display = "none";
/*	
		document.getElementById("cor_law").style.display = "none";
		document.getElementById("cor_inter_law").style.display = "none";
		document.getElementById("cor_trans").style.display = "none";
		document.getElementById("cor_bakal").style.display = "none";
		document.getElementById("cor_master").style.display = "none";
		document.getElementById("cor_second").style.display = "none";
*/
	  value="day_"+value;
    document.getElementById(value).style.display = "inline";
}

monolithed 23.01.2011 15:25

во-первых, для добавления option есть специальный массив options[] и метод add();
во-вторых, в функцию select_some передавайте только ссылку на объект;
в-третьих, приведите в порядок свой код - он ужасен

monolithed 23.01.2011 15:41

на вскидку:
<script type="text/javascript">
window.onload = function(){
    (function(){
        var i = arguments.length, select = document.form.elements[0];
        while(i--){ 
            document.getElementById(arguments[i]).style.display = 'none';
            var option = document.createElement('option');
                option.text = arguments[i];
                option.value = i;
            try {
                select.add(option, null);
            }
            catch(e) {
                select.add(option);
            }
       }
    })('div1', 'div2', 'div3');
};
</script>
<div id="div1">text1</div>
<div id="div2">text2</div>
<div id="div3">text3</div>

<form action="" method="" name="form">
    <select></select>
</form>

Сергей1317 23.01.2011 21:19

Я не понял то, о чём вы мне писали. Яваскрипт знаю плохо. На данный момент у меня стоит задача - как можно быстрее решить проблему в Ие8.
Пожалуйста, исправьте ошибку в моём коде, и выложите результат.

monolithed 23.01.2011 22:09

Цитата:

Сообщение от Сергей1317
Я не понял то, о чём вы мне писали

в этом случае помочь ничем не могу больше.
Цитата:

Сообщение от Сергей1317
Пожалуйста, исправьте ошибку в моём коде, и выложите результат.

на форуме есть раздел работа.

Сергей1317 24.01.2011 09:35

Мне неприятно, что писать тот код, что вы написали вам было не лень, а исправить ошибку в моём коде - сразу - "на форуме есть раздел работа". Вы мне девочку напоминаете.


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