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

jqueryではなくjavascriptのみ(デモ):

<?
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 に答える
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
}

OR 1 行の HTML

if(isset($_POST['var']))
{
    echo "<div id='myID'>
            <span> MY HTML CONTENT </span>
        </div>";
}
于 2013-09-28T15:00:08.433 に答える