簡體   English   中英

單擊提交按鈕時如何僅加載內容區域?

[英]How to load only the content area when click submit button?

我的代碼是這樣的:

<html>
    <head>
        <title>Test Loading</title>
    </head>
    <body>
        <div id="header">
            This is header
        </div>
        <div id="navigation">
            This is navigation
        </div>
        <div id="content">
            <form action="test2.php" method="post">
                <table>
                    <tr>
                        <td>First Name</td>
                        <td>:</td>
                        <td><input type="text" name="first_name"></td>
                    </tr>
                    <tr>
                        <td>Last Name</td>
                        <td>:</td>
                        <td><input type="text" name="last_name"></td>
                    </tr>
                    <tr>
                        <td>Age</td>
                        <td>:</td>
                        <td><input type="text" name="age"></td>
                    </tr>
                    <tr>
                        <td>Hobby</td>
                        <td>:</td>
                        <td><input type="text" name="hobby"></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td><input type="submit" Value="Submit"></td>
                    </tr>
                </table>

            </form>
        </div>
        <div id="footer">
            This is footer
        </div>
    </body>
</html>

test1.php的完整代碼: http ://pastebin.com/idcGms0h

test2.php的完整代碼: http ://pastebin.com/rvBPTrhn

我只想加載內容區域並跳過頁眉,導航和頁腳加載

除此之外,我還想添加負載

似乎使用了ajax,但是我還是很困惑

單擊提交按鈕時如何僅加載內容區域?

任何幫助,不勝感激

干杯

您需要使用ajax。 請嘗試這個

提交之前

    <!DOCTYPE html>
<html>
    <head>
        <title>Test Loading</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
    </head>
    <body>
        <div id="header">
            This is header
        </div>
        <div id="navigation">
            This is navigation
        </div>
        <div id="content">
            <form action=""  id="info">
                <table>
                    <tr>
                        <td>First Name</td>
                        <td>:</td>
                        <td><input type="text" name="first_name"></td>
                    </tr>
                    <tr>
                        <td>Last Name</td>
                        <td>:</td>
                        <td><input type="text" name="last_name"></td>
                    </tr>
                    <tr>
                        <td>Age</td>
                        <td>:</td>
                        <td><input type="text" name="age"></td>
                    </tr>
                    <tr>
                        <td>Hobby</td>
                        <td>:</td>
                        <td><input type="text" name="hobby"></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                         <td></td>

                    </tr>
                </table>

            </form>
        </div>
       <button id="submit">Submit</button>
        <div id="footer">
            This is footer
        </div>
    </body>
</html>

<script type="text/javascript">
  var postData = "text";
  $('#submit').on('click',function(){
      $.ajax({
            type: "post",
            url: "test2.php",
            data:  $("#info").serialize(),
            contentType: "application/x-www-form-urlencoded",
             success: function(response) { // on success..
            $('#content').html(response); // update the DIV
            },
            error: function(jqXHR, textStatus, errorThrown) {
                console.log(errorThrown);
            }
        })
    });

</script>

提交表格之前

test2.php的內容

<table>
            <tr>
                <td>First Name</td>
                <td>:</td>
                <td> <?php echo $_POST['first_name']; ?></td>
            </tr>
            <tr>
                <td>Last Name</td>
                <td>:</td>
                <td><?php echo $_POST['last_name']; ?></td>
            </tr>
            <tr>
                <td>Age</td>
                <td>:</td>
                <td><?php echo $_POST['age']; ?></td>
            </tr>
            <tr>
                <td>Hobby</td>
                <td>:</td>
                <td><?php echo $_POST['hobby']; ?></td>
            </tr>

提交表格后

您需要使用ajax。 僅更新頁面的一部分。 首先,將唯一的ID賦予表單元素1.我給了表單ID regForm 2.提交按鈕ID為SubmitButton

您可以收聽表單提交或單擊提交按鈕

聽着點擊提交按鈕...。

$("input#submitButton").on("click",function(event){
   event.preventDefault();
   var data = $('form#regForm').serialize();
   $.ajax({
           url: "test2.php",
           method: "POST",
           data: { data : data },
           dataType: "html"
   })

   .done(function( responseData ) {
       console.log("theresponse of the page is"+responseData);
       $("div#content").empty();
       ///now you can update the contents of the div...for now i have just entered text "hey i m edited" ....and i have considered that you will echo out html data on test2.php .....so specified data type as html in ajax.
       $("div#content").html("hey i m edited");
    })

   .fail(function( jqXHR, textStatus ) {
     console.log("error occured");
    });



})

好吧,您必須為此使用jquery ajx。無需編寫大型代碼,您可以使用此插件http://malsup.com/jquery/form/即可 ,而無需使用任何形式的更改(設置表格ID除外)

$(document).ready(function() { 
    var options = { 
        target:   '#output',   //this is the element that show respond after ajax finish

    }; 

    // bind to the form's submit event 
    $('#myForm').submit(function() {
        $(this).ajaxSubmit(options); 
        return false; 
    }); 
});

像這樣更改表格:

<form action="test2.php" method="post" id="myForm"> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM