Upload All
This commit is contained in:
67
public/js/change_password_page.js
Normal file
67
public/js/change_password_page.js
Normal file
@ -0,0 +1,67 @@
|
||||
var vldPassword = /(^[0-9a-zA-Z_?!@#+-]{5,16}$)/;
|
||||
|
||||
var txtOldPassword = $("#txtOldPassword");
|
||||
var txtNewPassword = $("#txtNewPassword");
|
||||
var txtConfirmNewPassword = $("#txtConfirmNewPassword");
|
||||
var divAlert = $("#divAlert");
|
||||
|
||||
$("#btnSubmit").on("click", btnSubmit_Click);
|
||||
|
||||
function btnSubmit_Click(e) {
|
||||
e.preventDefault();
|
||||
let resultOldPassword = vldPassword.test(txtOldPassword.val());
|
||||
let resultNewPassword = vldPassword.test(txtNewPassword.val());
|
||||
let resultConfirmNewPassword = vldPassword.test(txtConfirmNewPassword.val());
|
||||
setInputState( [txtOldPassword, txtNewPassword, txtConfirmNewPassword],
|
||||
[resultOldPassword, resultNewPassword, resultConfirmNewPassword]);
|
||||
switch (false) {
|
||||
case resultOldPassword:
|
||||
setAlert( txtOldPassword.val().length == 0 ? "舊密碼欄位為必要欄位,請輸入您目前在使用的密碼。" : "請在舊密碼欄位中輸入5~16字間,並符合的密碼格式: 數字、英文字母或 _?!@#+- 字元。" );
|
||||
break;
|
||||
case resultNewPassword:
|
||||
setAlert( txtNewPassword.val().length == 0 ? "新密碼欄位為必要欄位,請輸入您目前在使用的密碼。" : "請在新密碼欄位中輸入5~16字間,並符合的密碼格式: 數字、英文字母或 _?!@#+- 字元。" );
|
||||
break;
|
||||
case resultConfirmNewPassword:
|
||||
if ( txtConfirmNewPassword.val().length == 0 ) {
|
||||
setAlert("確認新密碼欄位為必要欄位,請輸入您目前在使用的密碼。");
|
||||
}
|
||||
else if ( txtNewPassword.val() != txtConfirmNewPassword.val()) {
|
||||
setAlert("請在確認新密碼欄位中輸入與新密碼欄位一樣的密碼。");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
setAlert();
|
||||
}
|
||||
return;
|
||||
//Success, send data to server
|
||||
$.ajax({
|
||||
url : "/userChangeANewPW",
|
||||
type : "POST",
|
||||
data : {
|
||||
oldPassword : txtOldPassword.val(),
|
||||
newPassword : txtNewPassword.val(),
|
||||
conNewPassword : txtConfirmNewPassword.val()
|
||||
},
|
||||
success : (respone) => {
|
||||
//Check success or not.
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setInputState(elements, results) {
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
if (results[i] && elements[i].hasClass("has-error")) {
|
||||
elements[i].removeClass("has-error");
|
||||
}
|
||||
else if (!results[i] && !elements[i].hasClass("has-error")) {
|
||||
elements[i].addClass("has-error");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setAlert(message) {
|
||||
divAlert.children().remove();
|
||||
if (message) {
|
||||
divAlert.append("<div class='alert alert-danger mt-20'>" + message + "</div>");
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user