3

是否可以使用 jQuery 刷新单个 div?我有一个可以注销用户的按钮。点击按钮后,我想显示登录表单,所以我需要重新解析这个div。

我的 div 的内容是这样的:

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

这是我执行注销的 JavaScript 部分:

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

编辑:我的 logout.php 脚本删除了 cookie,这就是我需要重新解析 signup-div 的原因。

4

4 回答 4

3

您可以使用 jquery 动态更改注册 div 的内容,如下所示:

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

或者

var $loginDiv = $(document.createElement("div")).html("<label>Username</label><input type='text' id='username'/>");
$("#signup").html($loginDiv);
于 2013-06-01T16:22:13.480 回答
1

利用load()

$('#signup').load('php/logout.php', function() {
  alert('Logout.');
});
于 2013-06-01T16:18:16.097 回答
0

我会尝试:

$('#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>');
    });
})

相同的方法可用于登录操作,以防止页面必须刷新。

于 2013-06-01T16:54:01.423 回答
0

由于您的标签中有会话方法,因此您可以在成功事件中执行以下操作:

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

它将重新加载 < div id="signup" class="register"> 中的所有内容,并且当您删除会话时(我想),它将重新加载到您的登录/注销表单中。

于 2013-07-04T08:56:59.390 回答