Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.05.2010, 20:35
Интересующийся
Отправить личное сообщение для robinner Посмотреть профиль Найти все сообщения от robinner
 
Регистрация: 12.05.2010
Сообщений: 29

undefined помогите плиз
function calendar(m,y)
{
cal='<div>'+m+'</div>';
return cal;
}

возвращает undefined...
при то что
function calendar(m,y)
{
alert(m);
}
выводит два алерта, в первом переменная нормально высвечивается, а во втором undefined

что нужно сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 12.05.2010, 20:39
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от robinner
выводит два алерта, в первом переменная нормально высвечивается, а во втором undefined
значит вы ф-цию вызываете два раза, и на второй раз ничего не передаете
Ответить с цитированием
  #3 (permalink)  
Старый 12.05.2010, 20:50
Интересующийся
Отправить личное сообщение для robinner Посмотреть профиль Найти все сообщения от robinner
 
Регистрация: 12.05.2010
Сообщений: 29

Как понять два раза вызываю?

HTML документ <html>
<head>
<title>Календарь</title>
<link rel="stylesheet" href="style.CSS" type="text/css" media="screen" />
<script src="calendar.js"></script>
</head>
<body>
<script language="javascript">
<!--
document.write(calendar());
//-->
</script>
</body>
</html>

JS документ

function calendar(m,y){
cal='<div>'+m+'</div>';
return cal;
}
Ответить с цитированием
  #4 (permalink)  
Старый 12.05.2010, 20:57
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

document.write(calendar()); // вызов функции без параметров
…
function calendar(m,y){ // m = undefined, y = undefined
cal='<div>'+m+'</div>'; // <div>undefined</div>
return cal;
}
Ответить с цитированием
  #5 (permalink)  
Старый 12.05.2010, 21:04
Интересующийся
Отправить личное сообщение для robinner Посмотреть профиль Найти все сообщения от robinner
 
Регистрация: 12.05.2010
Сообщений: 29

не, чтото не то...
значения присваиваются сразу,
var m=now.getMonth();
var y=now.getFullYear();
и потом по мере нажатия на кномки вперед назад меняется значение, оно
передает значение в функцию, я вот не могу понять чего оно 2 раза вызывается, просто я совсем новичок в JS
Ответить с цитированием
  #6 (permalink)  
Старый 15.05.2010, 17:19
Интересующийся
Отправить личное сообщение для robinner Посмотреть профиль Найти все сообщения от robinner
 
Регистрация: 12.05.2010
Сообщений: 29

Не могу допереть....как сделать чтобы она не вызывалась второй раз(((
помогите пожалуйста
Ответить с цитированием
  #7 (permalink)  
Старый 15.05.2010, 17:39
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Сообщение от robinner Посмотреть сообщение
Не могу допереть....как сделать чтобы она не вызывалась второй раз(((
Если под этим
<script language="javascript">
<!--
document.write(calendar());
//-->
</script>

подразумевалось закомментировать код, то надо так:
<script language="javascript">
// document.write(calendar());
</script>
Ответить с цитированием
  #8 (permalink)  
Старый 15.05.2010, 17:44
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

micscr, эти HTML-комментарии в JavaScript-коде из далекого прошлого, когда браузеры, неподдерживающие скрипты, отображали содержимое между незнакомыми им тегами <script>…</script>.
Ответить с цитированием
  #9 (permalink)  
Старый 15.05.2010, 18:20
Интересующийся
Отправить личное сообщение для robinner Посмотреть профиль Найти все сообщения от robinner
 
Регистрация: 12.05.2010
Сообщений: 29

Сообщение от micscr Посмотреть сообщение
подразумевалось закомментировать код, то надо так:
Нет...Это не подразумевалось...

Я понял, что вот сюда не передается аргумент document.write(calendar());.
Вот так, например, работает document.write(calendar(3, 2010));.
Но, естественно, не переключаются месяцы.

Могу целиком привести код.
Ответить с цитированием
  #10 (permalink)  
Старый 15.05.2010, 18:50
Интересующийся
Отправить личное сообщение для robinner Посмотреть профиль Найти все сообщения от robinner
 
Регистрация: 12.05.2010
Сообщений: 29

javascript файл

var now=new Date;
var sm=now.getMonth();
var sy=now.getFullYear();
var m=now.getMonth();
var y=now.getFullYear();
var month=new Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
var day=new Array("Вс","Пн","Вт","Ср","Чт","Пт","Сб");
function calendar(cm,year){
	td=now.getDate();//сегодняшнее число
	s=new Date();
	s.setDate(1);
	s.setFullYear(year);
	s.setMonth(cm);
	sd=s.getDay();//старт
	feb=((year%4)==0)?29:28;//высокосный год
	nDay=new Array('31',feb,'31','30','31','30','31','31','30','31','30','31');
	result='<table id="c" cellpadding="0" cellspacing="0"><tr><td onclick="back()"><img src="img/l.gif"></td><td colspan="5">'+month[cm]+', '+year+'</td><td onclick="forward()"><img src="img/r.gif"></td></tr><tr>';
	for(var i=0;i<7;i++){
		result+='<td>'+day[i]+'</td>';
	}
	result+='</tr></table>'
	return result;
}
calendar(m,y);
function forward(){
	m+=1;
	if(m>=12){
		m=0;
		y++;
	}
	calendar(m,y);
}
function back(){
	m-=1;
	if(m<0){
		m=11;
		y--;
	}
	calendar(m,y);
}


html файл

<html>
<head>
<title>Календарь</title>
<link rel="stylesheet" href="style.CSS" type="text/css" media="screen" />
<script src="calendar.js"></script>
</head>
<body>
<script language="javascript">
<!--
document.write(calendar());
//-->
</script>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите плиз serjo86 Элементы интерфейса 0 04.03.2010 16:24
помогите с цыклами плиз solistcomru Элементы интерфейса 3 07.02.2010 15:02
relative + fixed Помогите плиз( greatilya Internet Explorer 14 27.11.2008 03:29
помогите плиз chemax Общие вопросы Javascript 2 15.11.2008 11:06