프로젝트를 진행하다 보면 '엔터' 키를 묶어야 하는 상황이 발생해 직접 시나리오 코드를 가로채게 됐다. 코드는 다음과 같습니다.
function sendLoginData( ){
loginvalidateForm ();
$(document).keydown(function(event){
if(event.keyCode == 13){ //바인딩 Enter
$(' #login-submit ').click(); /로그인 버튼 자동/실행
}
})
$('#login-submit').click(function(){
if( $('#login-form').valid()==false){
return false
}
var 사용자 이름 = $('#id_username'). val();
var 비밀번호 = $('#id_password').val();
$.ajax({
type:"post",
dataType:"json",
contentType:"application /x-www-form-urlencoded;charset=UTF-8",
url:"{% url netPan.User.views.LoginHd%}",
data:{
사용자 이름: 사용자 이름,
비밀번호: 비밀번호
},
beforeSend: function(){
//사용자 경험 개선을 위한 정보 프롬프트
$('#loginInfoWord').show(). text('처리 중입니다. 잠시 기다려 주세요...');
success:function(data){
var message = data.message
if(message == 'D' ){
//사용자 경험 개선을 위한 정보 프롬프트
$('#loginInfoWord').show().text('로그인 성공, 점프 중...')
window.location.href = '{% url netPan.index.IndexHd%}';
}else if(message == 'C'){
$('#loginInfoWord').show().text('사용자 잘못된 이름 또는 비밀번호');
}else if(message == 'N'){
$('#loginInfoWord').show().text('아직 등록하지 않으셨습니다! ');
}else if(message == 'H'){
$('#loginInfoWord').show().text('아직 계정을 활성화하지 않았습니다. 이메일에 로그인하세요. 계정을 활성화하려면!' );
}
},
error: function(xhr,textStatus,errorThrown){
$('#loginInfoWord').show().text('Exception 발생:' errorThrown);
}
});
/* 위 또는 아래에 배치할 수 있으며 순서는 관계가 없습니다.
$(document) .keydown(function(event){
if(event.keyCode == 13){ //바인딩 Enter
$('#login-submit'). click(); /로그인 버튼 자동/트리거
*/
}