我正在尝试使用以下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" }]
});
}
}
});
}
});
});
=============================================== ==========================================
答案 0 :(得分:1)
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
});
// =======================================================
}
});
});