Показать сообщение отдельно
  #1 (permalink)  
Старый 28.02.2014, 15:56
Аватар для psfdek
Профессор
Отправить личное сообщение для psfdek Посмотреть профиль Найти все сообщения от psfdek
 
Регистрация: 14.02.2014
Сообщений: 157

XmlHttpRequest непонятки с js
Есть форма возвращающая строку с названием книги с помощью ajax
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
<head>
<title>Пример ajax XmlHttpRequest</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="ru" />
	<script type="text/javascript">

		function getXmlHttpRequest(){
			if(window.XMLHttpRequest)
				return new XMLHttpRequest();
			else
				return null;
		}

		function getBookByNumber(number){
			var req = getXmlHttpRequest();
			req.onreadystatechange = function(){
				if(req.readyState != 4) return;
				var result = document.getElementById('divResult');
				result.firstChild.nodeValue = req.responseText;
			};
			req.open('GET', 'getbooktxt.php?num='+number, true);
			req.send(null);
		}
			
		function showBook(){
			var txt = document.getElementById('txtNum');
			getBookByNumber(txt.value);
		}
	</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>



И getbook.php
<?php
/*
** Сценарий возвращает число книг, найденных в списке или название указанной книги
** Параметр num - номер книги
*/

// Имя файла со списком книг
define('BOOKS_FILE', 'books.txt');
// Название параметра GET
define('NUM', 'num');

// Передача текса в кодировке UTF-8
header('Content-type: text/plain; charset=utf-8');
// Запрет кеширования
header('Cache-COntrol: no-store, no-cache');
header('Expires: ' . date('r'));

// Чтение файла
$books = file(BOOKS_FILE);

// Проверка параметра num
if (!empty($_GET[NUM]))
{
	// Парметр указан
	$num = (int) $_GET[NUM];
	if ($num < count($books) && $num >= 0)
		echo $books[$num];
	else
		echo 'Книга не найдена';
}
else
{
	// Парметр не указан, возвращаем число книг
	echo count($books);
}
?>


Как сделать что бы я мог передавать несколько значений input

Хочу сделать что бы форма была такой:
<table>
		<tr>
			<tr>
				<td colspan="2">
					<input type="text" name="name" id="name" class="input-field" />
					<label for="name">Введите Ваше имя *</label><a name="contacter"></a>
				</td>
			</tr>
			<td class="tco1">
				<select name="uscont1" id="uscont1">
				    <option name="phone">Телефон</option>
				    <option name="mail">Емайл</option>
				    <option name="skype">Скайп</option>
				    <option name="icq">ICQ</option>
				</select>
				<label for="uscont1">Тип</label>
			</td>
			<td class="tco2">
				<input type="text" name="uscont2" id="uscont2" class="input-field" />
				<label for="uscont2">Контакт</label>
			</td>
		 </tr>
		</table>


Но допускаю ошибки с передачей параметров php скрипту....

Может кто объяснить мне..?
Рабочий скрипт во вложении есть.
Вложения:
Тип файла: zip xmlhttprequest.zip (2.3 Кб, 2 просмотров)
Ответить с цитированием