1

我正在尝试将数据从表单发送到处理第一页结果的新页面。但是,如果我使用

<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 来解决这个问题吗?有没有其他相对简单的方法来实现这一点?

4

3 回答 3

1

你应该使用 ajax 来完成这样的任务,看看 jquery.post()和..get()$.ajax()

$.post( "new_page.php", function( data ) {
  $( ".result" ).html( data );
});
于 2013-09-28T15:00:02.963 回答
0

您可以在 if(isset($_POST['var'])){...}

一个简单的方法是..

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>";
}
于 2013-09-28T15:00:08.433 回答
0

在只是 javascript 而不是 jquery (演示):

<?
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>
于 2013-09-28T15:56:59.673 回答