user1325578
user1325578

Reputation: 51

Redirecting and then run function on another page?

So I have the code:

header("Location: ".$config['site_url']."index.php#login-box");

Which is my attempt to trigger the html code for a jquery login form if the user is not logged in:

<li><a class="log" href="#login-box"><span class="hover" style="opacity: 0;"></span></a></li> 

But when it runs all it does is add #login-box to then end of my url and doesn't trigger the #login-box href. Pretty lame attempt I know, but any ideas?

This is the jquery script, how would I add the code you mentioned to it properly?

             $(document).ready(function() {
$('a.login-window2').click(function() {

            //Getting the variable's value from a link 
    var loginBox = $(this).attr('href');

    //Fade in the Popup
    $(loginBox).fadeIn(300);

    //Set the center alignment padding + border see css style
    var popMargTop = ($(loginBox).height() + 24) / 2; 
    var popMargLeft = ($(loginBox).width() + 24) / 2; 

    $(loginBox).css({ 
        'margin-top' : -popMargTop,
        'margin-left' : -popMargLeft
    });

    // Add the mask to body
    $('body').append('<div id="mask"></div>');
    $('#mask').fadeIn(300);

    return false;
});

// When clicking on the button close or the mask layer the popup closed
$('a.close, #mask').live('click', function() { 
  $('#mask , .login-popup').fadeOut(300 , function() {
    $('#mask').remove();  
}); 
return false;
});
});
             </script>

Upvotes: 1

Views: 180

Answers (2)

vladkras
vladkras

Reputation: 17228

It's a mistake in your code.

Use: name="#login-box"

instead of: href="#login-box"

Upvotes: -1

faino
faino

Reputation: 3224

Here is a little snippet that should do the trick, using jQuery as you mentioned:

$(function(){
    $("a.login-window2").click(function(){
        //Getting the variable's value from a link
        var loginBox = $(this).attr("href");
        //Fade in the Popup
        $(loginBox).fadeIn(300);
        //Set the center alignment padding + border see css style
        var popMargTop = ($(loginBox).height() + 24) / 2;
        var popMargLeft = ($(loginBox).width() + 24) / 2;
        $(loginBox).css({
            "margin-top" : -popMargTop,
            "margin-left" : -popMargLeft
        });
        // Add the mask to body
        $("body").append("<div id=\"mask\"></div>");
        $("#mask").fadeIn(300);
        return(false);
    });
    // When clicking on the button close or the mask layer the popup closed
    $("a.close, #mask").live("click", function(){
        $("#mask , .login-popup").fadeOut(300, function(){
            $("#mask").remove();
        });
        return(false);
    });
    // Check the hash
    var hash = $(location).attr("hash");
    if(hash == "#login-box") {
        $("a.login-window2").click();
    }
});

Put this in your index.php file and run your code from inside the if statement.

Upvotes: 2

Related Questions