我想弄清楚如何在AJAX访问的页面中提交表单?
以下是一些代码片段,以帮助演示我想说的内容。
HTML BODY - 这是用户会看到的:
<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
变量为空。
答案 0 :(得分:1)
嘿,你可以通过这个链接
http://www.ajaxlines.com/ajax/stuff/article/how_to_submit_a_form_with_ajax_in_jquery.php
如果有任何与此相关的问题,请告诉我
答案 1 :(得分:0)
我认为您的代码中存在错误。您没有在任何地方设置舞台变量。
看看:
url=url+"?stg="+phase;
可能你必须改变stg =&gt;阶段。 没有看到任何其他问题。
答案 2 :(得分:0)
嗨,您可以使用
在同一页面中显示结果或表格form method =“POST”action =
或者如果你想使用ajax,那么在jquery中编写一个这样的函数 function call(){
$。AJAX({
类型: 'POST',
url:'相同文件名的路径?action = submit',
//想要传递的数据
数据:”,
成功:function(){
}
});
} //功能结束
和你的PHP代码 检查$ _GET ['action']是否存在然后执行你的函数
由于
答案 3 :(得分:0)
以下是您要查找的脚本。
<强> pageofstuffce.php 强>
<?php
$stage = $_GET['stg'];
if($stage == 0)
{
echo '<a onClick="gotoPage(1)">click me</a>';
}
elseif($stage == 1)
{
echo '<form>
<input type="text" name="name">
<input type="submit" name="submit">
</form>';
}
else
{
echo 'show data from form.';
}
?>
您的HTML
<html>
<head>
<script type="text/javascript" language="javascript" src="linktoajaxfile.js"></script>
</head>
<body onload="gotoPage(0)">
<div id="fillThis">
</div>
</body>
</html>
用于进行Ajax调用的Javascript linktoajaxfile.js
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;
}
希望这会有所帮助!
谢谢!
侯赛因。