Показать сообщение отдельно
  #1 (permalink)  
Старый 26.11.2010, 00:08
Интересующийся
Отправить личное сообщение для vladikas Посмотреть профиль Найти все сообщения от vladikas
 
Регистрация: 25.11.2010
Сообщений: 11

Отправить данные с контейнера (XMLHttpRequest)
Имеется пример кода с формой и контейнером. С формы данные успешно отправляются на скрипт test1.php и возвращаются в контейнер без перезагрузки страницы. Нужно отправить данные с контейнера (или это может быть тег гиперссылки). Не получается... Получаю undefined в ответе. Клик на контейнер с вызовом функции find2() должен послать данные на test2.php. Как это сделать?

main.htm
<html>
<head>
<script src="JsHttpRequest.js"></script>
<script language="JavaScript">
function find1() 
		{
        JsHttpRequest.query
			(
            'test1.php', // backend
			{
			'pass': document.getElementById("pass").value
			},

            function(result) 
				{
                document.getElementById("ans1").innerHTML = result["str1"];
				},
				true  // disable caching
			);
		};
	    
function find2() 
		{
        JsHttpRequest.query
			(
            'test2.php', // backend
			{
			'name': document.getElementById("name").value
			},

            function(result) 
				{
                document.getElementById("ans2").innerHTML = result["str2"]
				},
            true  // disable caching
			);
		}
</script>
</head>
<body>

<div style="cursor: pointer" id="name"  value="данные для ans2" onclick="find2()">
Нажать тут для срабатывания find2()
</div>

<br>
<form method="post">
Пароль:
<br>
<input name="pass" type="text" size="18" id="pass">
<br>
<input type="button" value="Отправить" onclick="find1()">
</form>

<div id="ans1">
Тут будет результат ans1
</div>

<div id="ans2">
Тут будет результат ans2
</div>
</body>


test1.php
<?php
require_once "JsHttpRequest.php";
$JsHttpRequest =& new JsHttpRequest("windows-1251");

$pass = $_REQUEST['pass'];//получаем из формы

$echo .= '<div>'.$pass.'</div>';//это будем выводить

    $GLOBALS['_RESULT'] = array(//создаёт массив в ответ
      "str1"   => $echo,//отправляем ответ
    );
?>


test2.php
<?php
require_once "JsHttpRequest.php";
$JsHttpRequest =& new JsHttpRequest("windows-1251");

$name = $_REQUEST['name'];//получаем из контейнера

$echo .= '<div>'.$name.'</div>';//это будем выводить

    $GLOBALS['_RESULT'] = array(//создаёт массив в ответ
      "str2"   => $echo,//отправляем ответ
    );
?>
Ответить с цитированием