我正在尝试将表单中的数据发送到处理第一页结果的新页面。 但是,如果我使用
<form action = 'new_page.php' method = 'post'>
浏览器将页面交换为“new_page.php”并仅显示该页面。我想在第一页的单独div中显示“new_page.php”,其结果来自表单。 我通常通过在页面顶部编写我的html并在底部使用我的php结束来完成此操作。我用
启动php部分 if(isset($_POST['var'])){ ... }
仅在表单使用后才显示php部分。
这是可能的吗? 我必须使用ajax,jquery或普通的JavaScript来解决这个问题吗? 有没有其他相对简单的方法来实现这个目标?
答案 0 :(得分:1)
你应该使用ajax来完成这样的任务,看看jquery .post()
,.get()
和$.ajax()
。
$.post( "new_page.php", function( data ) {
$( ".result" ).html( data );
});
答案 1 :(得分:0)
您可以在if(isset($ _ POST ['var'])){...}
中回显'new_page.php'的HTML内容一个简单的方法就是......
if(isset($_POST['var']))
{
echo<<<_END //used for large HTML content
<div id="myID">
<span> MY HTML CONTENT </span>
</div>
_END; //be sure to use this withiut any white space before it
}
一行HTML
if(isset($_POST['var']))
{
echo "<div id='myID'>
<span> MY HTML CONTENT </span>
</div>";
}
答案 2 :(得分:0)
只是javascript而不是jquery(demo):
<?
if(isset($_POST['test']))
{
die($_POST['test']);
}
?>
<html>
<head>
<script>
function loadXMLDoc($test)
{
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("testwindow").innerHTML= xmlhttp.responseText;
}
}
xmlhttp.open("POST","",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("test=" + $test);
}
</script>
</head>
<body>
<script>
loadXMLDoc("some text to return to page");
</script>
<div id="testwindow"></div>
</body>
</html>