user2361114
user2361114

Reputation: 162

Calling another ajax function on ajax success

I'm calling an ajax function for user login. After successful login, I want to refresh a div with content like (Ex. Welcome Mr. User, logout).

HTML:

<ul id="signup">
   <li>Login</li>
   <li>Signup</li>
</ul>

<ul id="loginbox">
     <li><label>Enter email address</label><br/><input type="text" class="bookinginput" id="uemail"></li>
     <li><label>Enter password</label><br/><input type="password" class="bookinginput" style="width: 151px;" id="upassword">
     <button class="styled-button-8" style="margin-top: -43px;margin-left: 10px;" onClick="ulogin()">Login</button>
     </li>
</ul>

Ajax:

function ulogin()
{
    var uemail = $('#uemail').val();
    var upassword = $('#upassword').val();
    $.ajax({
        type: "POST",
        url: "udoologin.php",
        data: {email:uemail, password:upassword}
    }).done(function( result ) {
        $("#loginbox").html(result);  
    });
}

After successful login, I'm able to change div#loginbox with successfull login message, but I want to replace another div#signup also with

<ul id="signup">
   <li>Welcome <?php echo $user?></li>
   <li>logout</li>
</ul>

How can I achieve this?

Upvotes: 0

Views: 380

Answers (1)

Bhadra
Bhadra

Reputation: 2104

In PHP when u are printing the result,echo

<li>Welcome <?php echo $user?></li>
   <li>logout</li>

joined with a seperator like '|||' or something.

in jquery

done(function( result ) {
 var log=result.split('|||');
 $("#loginbox").html(log[0]);
 $('#signup').html(log[1]);

});

Upvotes: 1

Related Questions