Refresh a div with jQuery

↘锁芯ラ 提交于 2019-12-04 04:22:29

问题


Is it possible to refresh a single div with jQuery? I have a button that does logout a user. After the button is clicked, I want to show the login form, so I need to re-parse this div.

The content of my div is this:

<div id="signup" class="register">

    <?php
        $email = $_COOKIE['email'];
        $login = $_COOKIE['login'];

        if($email != null && $email != "" && $login != null && $login != "") {
            echo "<h3>you are logged in as <b>$email</b></h3><br><br><button id='logoutbtn' class='submitButton'>Logout</button>";
        } else {
            // show login form
        }
    ?>

</div>

This is my JavaScript part where I perform the logout:

$('#logoutbtn').click(function () {    
    $.ajax({  
        type: "POST",  
        url: "php/logout.php",  
        async: false,
        success: function(data){
            // reload signup div
        } 
    });  
});

Edit: My logout.php script removes the cookies, that's why I need to re-parse the signup-div.


回答1:


You can dynamically change the contents of the signup div with jquery as follows:

$("#signup").html("My New Login Section");

or

var $loginDiv = $(document.createElement("div")).html("<label>Username</label><input type='text' id='username'/>");
$("#signup").html($loginDiv);



回答2:


Use load()

$('#signup').load('php/logout.php', function() {
  alert('Logout.');
});



回答3:


I'd try:

$('#logoutbtn').on('click', function () {    
    $.ajax({  
        type: "POST",  
        url: "php/logout.php"
    })
    .done(function(data){
        $('#signup > h3').html('Please <button id="loginbtn" class="submitButton">Login</button>');
    });
})

The same approach could be used for the login action to prevent the page from having to refresh.




回答4:


as you have your session method inside of your tag, you can do on success event following:

success: function(data){
        $("#signup").load(".register");
    } 

it will reload everything inside of < div id="signup" class="register"> and as you've removed your session (i suppose), than it will be reload to your login/logout form.



来源:https://stackoverflow.com/questions/16874668/refresh-a-div-with-jquery

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!