jQuery.msgBox()插件。如何将数据发送到/ users / login登录用户

时间:2013-01-02 21:09:45

标签: php jquery cakephp

我正在尝试使用以下jQuery插件(jQuery.msgBox())来执行对CakePHP网站的登录,但我很困惑我如何将数据提交到我的php函数进行登录和重定向如果登录成功或者如果不成功则显示消息。我将不胜感激任何帮助。

当用户按下键盘上的INSERT键时,这是我用来显示隐藏登录框的jQuery函数。

jQuery(document).bind('keydown', 'insert', function(e) {
    //alert(e.keyCode);
        $.msgBox({
            type: "prompt",
            title: "Administrator Log In",
            opacity: 0.7,
            inputs: [
                { header: "User Name", type: "text", name: "username" },
                { header: "Password", type: "password", name: "password" },
                //{ header: "Remember me", type: "checkbox", name: "rememberMe", value: "theValue" }
    ],
            buttons: [
                { value: "Login" }, {value:"Cancel"}],
            success: function (result, values) {
                var v = result + " has been clicked\n";
                $(values).each(function (index, input) {
                    v += input.name + " : " + input.value + 
                    (input.checked != null ? (" - checked: " + input.checked) : "") + "\n";         
                });
                alert(v); // for testing purposes. Insert login code below
                // =======================================================

                // =======================================================
            }
        });     
});

我结束了改变vortextangent'答案的一点点,但它是基于他的答案。见下文.....

=============================================== ==========================================

        jQuery(document).bind('keydown', 'insert', function(e) {
    //alert(e.keyCode);
        $.msgBox({
            type: "prompt",
            title: "Administrator Log In",
            opacity: 0.7,
            inputs: [
                { header: "User Name", type: "text", name: "data[User][username]" },
                { header: "Password", type: "password", name: "data[User][password]" },
                //{ header: "Remember me", type: "checkbox", name: "rememberMe", value: "theValue" }
    ],
            buttons: [
                { value: "Login" }, {value:"Cancel"}],
            success: function (result, values) {
                var v = result + " has been clicked\n";
                $(values).each(function (index, input) {
                    v += input.name + " : " + input.value + 
                    (input.checked != null ? (" - checked: " + input.checked) : "") + "\n";         
                });
                //alert(v);
        $.ajax({
        url: "/users/login",
        type: "post",
        data: values,
        success: function(responseText, statusText, xhr, $form){ // Trigger when request was successful
            //responseLogin
            if(responseText == "Success")   {
            window.location.href = '/users/account';
            }else{
            //alert("Wrong credentials. Please try again...");
            $.msgBox({
                title: "Login Error",
                content: "Wrong credentials. Please try again...",
                type: "error",
                buttons: [{ value: "Ok" }]
            });
            }
        }
        });
            }
        });     
});

=============================================== ==========================================

1 个答案:

答案 0 :(得分:1)

使用jQuery ajax method.

jQuery(document).bind('keydown', 'insert', function(e) {
//alert(e.keyCode);
    $.msgBox({
        type: "prompt",
        title: "Administrator Log In",
        opacity: 0.7,
        inputs: [
            { header: "User Name", type: "text", name: "username" },
            { header: "Password", type: "password", name: "password" },
            //{ header: "Remember me", type: "checkbox", name: "rememberMe", value: "theValue" }
],
        buttons: [
            { value: "Login" }, {value:"Cancel"}],
        success: function (result, values) {
            var v = result + " has been clicked\n";
            $(values).each(function (index, input) {
                v += input.name + " : " + input.value + 
                (input.checked != null ? (" - checked: " + input.checked) : "") + "\n";         
            });
            alert(v); // for testing purposes. Insert login code below
            // =======================================================
            $.ajax({
                url: "yourloginscript.php",
                type: "post",
                data: values,
                success: function(){ // Trigger when request was successful
                    window.location.href = 'somewhere'
                },
                error: function(request, error, errormessage) { // Show error
                    $("#error").html(error + '\n' + errormessage);
                },
                complete: otherFunction // When request is completed -no matter if the error or not
            });
            // =======================================================
        }
    });     
});