AJax를 이용한 회원 가입시 ID 체크.
프로그래밍/웹 쪽2008. 7. 3. 11:40
사용할 자바 스크립트 파일.
ajax.js = 최범균님의 Ajax 프로그래밍에 있는 파일(ajax 연결 관련 및 이벤트 처리).
log.js = 로그 출력용 파일.
시나리오
text영역에 keyup 이벤트가 발생 했을 경우
text.value를 얻어 와서 ajax를 통해 실행 후 데이터베이스에 id 값이 있는지 없는지 비교.
스트럿츠2 + iBatis를 해서 개발중.
iBatis 소스
실행하게되면 반환 값으로 select 한 id 값을 얻어 올 수 있다.
struts2 소스
반환 값이 없으면 null 이 return 되기 때문에 이를 가지고 반환 값이 없으면 success를
반환값이 있으면 input을 리턴해서
각각 result에 매핑된 경로 대로 이동해서 값을 출력한다.
idCheckOK는 아이디를 사용 할 수 있습니다.
idCheck는 아이디를 사용할 수 없습니다를 각각 출력한다.
ajax.js = 최범균님의 Ajax 프로그래밍에 있는 파일(ajax 연결 관련 및 이벤트 처리).
log.js = 로그 출력용 파일.
시나리오
text영역에 keyup 이벤트가 발생 했을 경우
text.value를 얻어 와서 ajax를 통해 실행 후 데이터베이스에 id 값이 있는지 없는지 비교.
window.onload = function() {
var id = document.getElementById("id");
// 특정 요소에 keyup 리스너를 등록
ajax.Event.addListener(id, "keyup", idHandler, false);
}
// keyup이벤트가 발생하면 아래 메서드가 실행된다.
function idHandler(event) {
//log(document.regist.id.value);
var params = "id=" + document.regist.id.value;
new ajax.xhr.Request("registIdCheck.action", params, viewInfo, "GET");
}
//idHandler에서 실행된 결과를 idCheck란 id를 가진 요소에 출력해준다.
function viewInfo(req) {
if(req.readyState == 4) {
if(req.status == 200) {
var idCheck = document.getElementById("idCheck");
idCheck.innerHTML = req.responseText;
}
}
}
var id = document.getElementById("id");
// 특정 요소에 keyup 리스너를 등록
ajax.Event.addListener(id, "keyup", idHandler, false);
}
// keyup이벤트가 발생하면 아래 메서드가 실행된다.
function idHandler(event) {
//log(document.regist.id.value);
var params = "id=" + document.regist.id.value;
new ajax.xhr.Request("registIdCheck.action", params, viewInfo, "GET");
}
//idHandler에서 실행된 결과를 idCheck란 id를 가진 요소에 출력해준다.
function viewInfo(req) {
if(req.readyState == 4) {
if(req.status == 200) {
var idCheck = document.getElementById("idCheck");
idCheck.innerHTML = req.responseText;
}
}
}
스트럿츠2 + iBatis를 해서 개발중.
iBatis 소스
<select id="selectCheckUserId" parameterClass="string" resultClass="string">
SELECT id FROM member WHERE id = #id#
</select>
이렇게 해서 sqlMap.queryForObjec("selectCheckUserId", param);SELECT id FROM member WHERE id = #id#
</select>
실행하게되면 반환 값으로 select 한 id 값을 얻어 올 수 있다.
struts2 소스
@Override
public String execute() throws Exception {
if (registerService.selectCheckUserId(id) == true)
return SUCCESS;
return INPUT;
}
public String execute() throws Exception {
if (registerService.selectCheckUserId(id) == true)
return SUCCESS;
return INPUT;
}
반환 값이 없으면 null 이 return 되기 때문에 이를 가지고 반환 값이 없으면 success를
반환값이 있으면 input을 리턴해서
<action name="registIdCheck" class="net.DBLab.www.register.action.RegistIdCheck">
<result name="success">../html/register/idCheckOK.jsp</result>
<result name="input">../html/register/idCheck.jsp</result>
</action>
<result name="success">../html/register/idCheckOK.jsp</result>
<result name="input">../html/register/idCheck.jsp</result>
</action>
idCheckOK는 아이디를 사용 할 수 있습니다.
idCheck는 아이디를 사용할 수 없습니다를 각각 출력한다.
사용할 수 없을 경우
사용할 수 있을 경우