将数据发送到新页面并将其包含在索引页面中

时间:2013-09-28 14:44:38

标签: javascript php jquery html ajax

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

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

3 个答案:

答案 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>