Я пытаюсь выяснить, как отправить форму на странице, к которой обращается AJAX?
Вот несколько фрагментов кода, которые помогут продемонстрировать то, что я пытаюсь сказать.
ТЕЛО HTML - ЭТО ТО, ЧТО УВИДЕТ ПОЛЬЗОВАТЕЛЬ:
<html>
<head>
<script language="javascript" src="linktoajaxfile.js">
</head>
<body onLoad="gotoPage(0)">
<div id="fillThis">
</div>
</body>
</html>
Ajax-файл:
var xmlhttp
function gotoPage(phase)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
var url="pageofstuffce.php";
url=url+"?stg="+phase;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("fillThis").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
СТРАНИЦА ДАННЫХ:
<?php
$stage = $_GET['stg'];
if($stage == 0)
{
echo '<a onClick="gotoPage(1)">click me</a>';
}
elseif($stage == 1)
{
<form>
<input type="text" name="name">
<input type="submit" name="submit">
</form>
}
elseif(somehow can reach here)
{
show data from form.
}
?>
Как пройти форму и отобразить данные на той же странице?
Я попытался отправить форму самому себе (тот же файл), которая уничтожила ссылку AJAX и открыла страницу. Я также пытался просто заставить кнопку переместить страницу на другой шаг, но переменная $_POST
пуста.