Имеется пример кода с формой и контейнером. С формы данные успешно отправляются на скрипт 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,//отправляем ответ
);
?>