我想弄清楚如何在被Ajax訪問的頁面中提交表單?在Ajax訪問的php文件中提交表單?
這裏有一些代碼片段來幫助證明我想說的。
HTML BODY - 這是用戶將看到的內容。
<html>
<head>
<script language="javascript" src="linktoajaxfile.js">
</head>
<body onLoad="gotoPage(0)">
<div id="fillThis">
</div>
</body>
</html>
AJAX FILE
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;
}
DATA
<?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.
}
?>
頁誰能也許幫我把過去的形式,並在同一頁面中顯示的數據? 另外,我環顧四周,我不認爲周圍有什麼我需要...糾正我,如果我錯了,但:) :)
在此先感謝,我希望我沒有把太多的細節:) Dronnoc
編輯
忘了提我已經試過;我已經嘗試將表單提交給自己(同一個文件),並且銷燬了ajax鏈接,並打開了頁面。我也嘗試只是將按鈕移動到另一個步驟的頁面,但$ _POST變量是空的...我無所適從,其他人有什麼想法嗎?
你能否將問題隔離一點? 「pageofstuffce.php」是否打開?它迴應/返回你的期望?在那裏添加一些警報,手動轉到'pageofstuffce.php'。精確定位一點,所以我們可以幫助更好 – 2011-01-05 06:16:13
是啊,對不起,第一次在這裏發佈,我仍然得到的東西......無論如何,無論如何,它是做我所期望的,直到提交表單。通常,我要提交表單的方法是將表單操作鏈接回同一個文件,並在文件的開始處有一個'if($ _ POST ['submit'])'子句,它將從那裏..現在不起作用,因爲在這樣做的時候,它會將'pageofstuffce.php'加載到瀏覽器中,而不是用ajax調用它。 – 2011-01-05 06:20:13
有沒有一種方式可以提交表單,然後可以從頁面訪問數據,而無需在瀏覽器中加載文件? – 2011-01-05 06:20:41