Javascript.RU

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

Фунцкия is not defined
Здравствуйте! Только начал изучать javascript и напоролся на такой тупиковый момент) Вообще начал одно из упражнений из курса по AJAX. Вот код:
<!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="ru" lang="ru" dir="ltr">
<head>
	<title>Лабораторная работа 1</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="ru" />
	<script type="text/javascript" src="/xmlhttprequest.js" />
	<script type="text/javascript">
		/*
		** Задание 1: Напишите функцию создания объекта XmlHttpRequest
		**     function getXmlHttpRequest()
		*/
		req = getXmlHttpRequest();
		
		/*
		** Задание 2: Напишите Функцию (функции) запроса к серверу (getbooktxt.php), 
		** которая АСИНХРОННО запрашивает нужную книгу по номеру (getbooktxt.php?num=1)
		** и выводит строку с названием этой книги в элемент divResult HTML страницы
		**     function getBookByNumber(number)
		*/
		function getBookByNumber(number) {
			req.send("GET", "getbooktxt.php?num=" + number, true);
			req.onreadystatechange = function {
				if (req.readyState == 4) {
					return req.responseText;
				}
			}
			return false;
		}

		
		/*
		** Задание 3: Напишите код обработчика нажатия на кнопку
		** Эта функция должна прочитать введенное значение в поле txtNum
		** и вызвать функцию getBookByNumber(value)
		**     function showBook()
		*/ 
		function showBook() {
			numb = document.getElementById('txtNum').value;
			document.getElementById("divResult").innerHTML = getBookByNumber(numb);
			return true;
		}
	</script>
</head>
<body>
	<h1>Лабораторная работа 1</h1>
	<form onsubmit="return false">
		<label for="txtNum">Введите номер книги:</label>
		<input id="txtNum" type="text" />
		<!-- Задание 4: не забудьте поставить обработчик нажатия -->
		<button onclick="showBook()">Поиск</button>
	</form>
	<div id="divResult">&nbsp;</div>
</body>
</html>


Собственно это недописанный скрипт - ошибка вылетает сразу же при нажатии на кнопку и вызове функции showBook() - якобы функция не определена. В чем моя ошибка?
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2012, 18:26
Профессор
Отправить личное сообщение для BallsShaped Посмотреть профиль Найти все сообщения от BallsShaped
 
Регистрация: 14.09.2012
Сообщений: 162

Во-первых, используй локальные переменные. Например, numb должна определяться с оператором var. Во-вторых, getBookByNumber всегда будет возвращать false, я гарантирую это.
Как ты думаешь, в какое место будет возвращать значение вот эта функция:
req.onreadystatechange = function {
    if (req.readyState == 4) {
        return req.responseText;
    }
}
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2012, 19:51
Новичок на форуме
Отправить личное сообщение для xtype4u Посмотреть профиль Найти все сообщения от xtype4u
 
Регистрация: 16.10.2012
Сообщений: 3

Сообщение от BallsShaped Посмотреть сообщение
Во-первых, используй локальные переменные. Например, numb должна определяться с оператором var. Во-вторых, getBookByNumber всегда будет возвращать false, я гарантирую это.
Как ты думаешь, в какое место будет возвращать значение вот эта функция:
req.onreadystatechange = function {
    if (req.readyState == 4) {
        return req.responseText;
    }
}
Понял, спасибо! Эти моменты есть, но вот беда с якобы не декларированной функцией не уходит.
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2012, 20:39
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

xtype4u, как минимум у вас тег </script> не закрыт на 7 строке вместо<script />
также вместо 23 строки
req.onreadystatechange = function {

нужно
req.onreadystatechange = function () {
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2012, 20:57
Новичок на форуме
Отправить личное сообщение для xtype4u Посмотреть профиль Найти все сообщения от xtype4u
 
Регистрация: 16.10.2012
Сообщений: 3

Сообщение от lord2kim Посмотреть сообщение
xtype4u, как минимум у вас тег </script> не закрыт на 7 строке вместо<script />
также вместо 23 строки
req.onreadystatechange = function {

нужно
req.onreadystatechange = function () {
спасибо! причиной был незакрытый тэг)
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2012, 22:52
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

xtype4u,

Поставь себе любой редактор для javascript (например WebStorm) и подобные ошибки он будет подсвечивать.
Ответить с цитированием
  #7 (permalink)  
Старый 24.04.2016, 13:47
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

<form id='submit_wall' ounsubmit='submit()' action='javascript:void(null);'>
												<p><input type='text' name='comment' id='".$rs_info['id']."' value=''  /></p>
												<p> <input type='hidden' name='messageid' id='".$rs_info['id']."' value='".$rs_info['id']."'></p>";
												
												  $stena_group .='<p><input type="submit" value="send"/> </p>

Вывести, спрашивали в том посте. Принять POST и так же как у меня чтобы отобразилось только сообщения после нажатия или по ссылке или по кнопке на странице.
Ответить с цитированием
  #8 (permalink)  
Старый 24.04.2016, 13:50
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

Hoshinokoe,
На Linux есть аналог? Что-то не вижу пока.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Uncaught ReferenceError: Class is not defined igshul Javascript под браузер 3 24.04.2012 11:49
is not defined onclick() trololo Firefox/Mozilla 8 20.10.2011 14:07
ActiveXObject is not defined Юрий Никольский AJAX и COMET 5 22.09.2010 01:19
jQuery is not defined torin2k jQuery 1 16.06.2010 08:27
is not defined PAMAC Firefox/Mozilla 16 30.10.2009 11:03