Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.09.2009, 17:01
Новичок на форуме
Отправить личное сообщение для lvil Посмотреть профиль Найти все сообщения от lvil
 
Регистрация: 06.06.2009
Сообщений: 9

type mismatch ???
имеется следующая функция, которая заполняет <select> и выбирает сегодняшнее число:

var today = new Date();
var day= today.getDate();
var days = 31;
......
......
for ( var i = 1; i < days+1; i++)
	{
		var newoption = document.createElement('option');
		newoption.text = i;
		newoption.value=i;
		myday.add(newoption,null);
		if ( i == day)
		{newoption.selected=true;}
	}


в файрфоксе все работает отлично. в IE на счет строки " if(i==day)" выдаетсся ошибка Type Mismatch.

в чем проблема?

спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 09.09.2009, 17:25
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Что за "несоответствие типов?" Бред какой-то. И что за myday.add?
Ответить с цитированием
  #3 (permalink)  
Старый 09.09.2009, 17:29
Новичок на форуме
Отправить личное сообщение для lvil Посмотреть профиль Найти все сообщения от lvil
 
Регистрация: 06.06.2009
Сообщений: 9

упс. забыл написать:
myday - объект <select>, тот, который я заполняю

type mismatch пишет мне эксплорер и отказываетсявыполнять скрипт
Ответить с цитированием
  #4 (permalink)  
Старый 09.09.2009, 17:46
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Проверяйте код. Вот тестовый пример:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>Без имени</title>
  <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  <meta name="generator" content="Geany 0.17" />
</head>
<style type="text/css"></style>
<script type="text/javascript">
<!--
function init() {
    var today = new Date();
    var day= today.getDate();
    var days = 31;
    var myday = document.getElementById('_select');
    for ( var i = 1; i < days+1; i++) {
        var newoption = document.createElement('option');
        newoption.text = i;
        newoption.value=i;
        myday.add(newoption,null);
        if ( i == day) {newoption.selected=true;}
    }
}
//-->
</script>
<body onload="init()">
<select id="_select"></select>
</body>
</html>


UPD
Попробуйте добавлять так:
try {
    currentSelect.add(newOption, null); // standards compliant
} catch(ex) {
    currentSelect.add(newOption); // IE only
}

Последний раз редактировалось e1f, 09.09.2009 в 17:53. Причина: дополнил: различие в параметрах вызова для IE
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при добавлении обработчика к событию Riim Events/DOM/Window 32 19.01.2010 14:17
IE и свойство type. lancer Events/DOM/Window 10 12.11.2008 00:20
в теге input изменение атрибута type gabber Internet Explorer 6 11.11.2008 13:01
когда можно использовать for(var k in arr) scuter Общие вопросы Javascript 17 29.08.2008 15:34