Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   type mismatch ??? (https://javascript.ru/forum/css-html-internet-explorer/5026-type-mismatch.html)

lvil 09.09.2009 17:01

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.

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

спасибо

e1f 09.09.2009 17:25

Что за "несоответствие типов?" Бред какой-то. И что за myday.add?

lvil 09.09.2009 17:29

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

type mismatch пишет мне эксплорер и отказываетсявыполнять скрипт

e1f 09.09.2009 17:46

Проверяйте код. Вот тестовый пример:
<!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
}


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