AJAX 네임 체크를 이용하여 체크값과 다른값 넘기는 방법 문의 드려요. 정보
AJAX 네임 체크를 이용하여 체크값과 다른값 넘기는 방법 문의 드려요.본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
AJAX 를 이용해서 이름을 체크 및 주민등록번호를 넘길려고 하는데요.. 잘 안되네요...
이름을 체크해서 입소자인지 퇴소자인지 명단지 없는지는 잘 나옵니다.
근데 이름 체크 후 주민등록번호를 넘기고 싶은데 아래와 같이 계산은 했는데 넘기는 방법을 잘 모르겠네요... 조언 좀 부탁드립니다.~~~
ajax_wr_name_check 에서 $jumin 값을 넘기고 싶어요...
------write.skin --------------------------
<td><INPUT class=ed type=text id='reg_wr_name' name='wr_subject' required itemname='고객명' value='<?=$wr_subject?>' size='12' maxLength='12' onblur='reg_wr_name_check()'>
<span id='msg_wr_name'></span></td>
--------------------ajax_wr_name_check-------------------------
// echo "한글"로 출력하지 않는 이유는 Ajax 는 euc_kr 에서 한글을 제대로 인식하지 못하기 때문
// 여기에서 영문으로 echo 하여 Request 된 값을 Javascript 에서 한글로 메세지를 출력함
if (!check_string($reg_wr_name, _G4_HANGUL_ + _G4_NUMERIC_)) {
echo "110"; // 유효하지 않은 회원아이디
} else if (strlen($reg_wr_name) < 4) {
echo "120"; // 3보다 작은 회원아이디
} else {
$row = sql_fetch(" select count(*) as cnt from g4_write_membership where wr_subject = '$reg_wr_name' ");
$row1 = $row[cnt];
if ($row1 == 0 ) {
echo "130"; // 명단 없음
} else {
$max_id = sql_fetch(" select MAX(wr_id) as ma from g4_write_membership where wr_subject = '$reg_wr_name' ");
$sql = sql_fetch(" select wr_4, wr_41, wr_42 from g4_write_membership where wr_subject = '$reg_wr_name' AND wr_id='$max_id[ma]'");
$sql_b = $sql[wr_4];
$jumin = $sql[wr_41]." ".$sql[wr_42]; <--- 이 값을 넘기고 싶습니다.
if ($sql_b != '') {
echo "140"; // 퇴소자
} else {
echo "000"; // 생활자
}
}
}
?>
-------------------------write.skin.jquery-----------------
var reg_wr_name_check = function() {
$.ajax({
type: 'POST',
url: '../skin/board/medical_extension/ajax_wr_name_check.php',
data: {
'reg_wr_name': ($('#reg_wr_name').val())
},
cache: false,
async: false,
success: function(result) {
var msg = $('#msg_wr_name');
switch(result) {
case '110' : msg.html('이름은 공백없이 한글, 숫자만 입력 가능합니다.').css('color', 'red'); break;
case '120' : msg.html('한글 2글자 이상 입력 가능합니다.').css('color', 'red'); break;
case '130' : msg.html("명단에 없습니다.").css('color', 'red'); break;
case '140' : msg.html('퇴소자.').css('color', 'red'); break;
case '000' : msg.html('원내 생활자').css('color', 'blue'); break;
default : alert( '잘못된 접근입니다.\n\n' + result ); break;
}
$('#wr_name_enabled').val(result);
}
});
}
-------------------------------------------------------
오류 주소 :
AJAX 를 이용해서 이름을 체크 및 주민등록번호를 넘길려고 하는데요.. 잘 안되네요...
이름을 체크해서 입소자인지 퇴소자인지 명단지 없는지는 잘 나옵니다.
근데 이름 체크 후 주민등록번호를 넘기고 싶은데 아래와 같이 계산은 했는데 넘기는 방법을 잘 모르겠네요... 조언 좀 부탁드립니다.~~~
ajax_wr_name_check 에서 $jumin 값을 넘기고 싶어요...
------write.skin --------------------------
<td><INPUT class=ed type=text id='reg_wr_name' name='wr_subject' required itemname='고객명' value='<?=$wr_subject?>' size='12' maxLength='12' onblur='reg_wr_name_check()'>
<span id='msg_wr_name'></span></td>
--------------------ajax_wr_name_check-------------------------
// echo "한글"로 출력하지 않는 이유는 Ajax 는 euc_kr 에서 한글을 제대로 인식하지 못하기 때문
// 여기에서 영문으로 echo 하여 Request 된 값을 Javascript 에서 한글로 메세지를 출력함
if (!check_string($reg_wr_name, _G4_HANGUL_ + _G4_NUMERIC_)) {
echo "110"; // 유효하지 않은 회원아이디
} else if (strlen($reg_wr_name) < 4) {
echo "120"; // 3보다 작은 회원아이디
} else {
$row = sql_fetch(" select count(*) as cnt from g4_write_membership where wr_subject = '$reg_wr_name' ");
$row1 = $row[cnt];
if ($row1 == 0 ) {
echo "130"; // 명단 없음
} else {
$max_id = sql_fetch(" select MAX(wr_id) as ma from g4_write_membership where wr_subject = '$reg_wr_name' ");
$sql = sql_fetch(" select wr_4, wr_41, wr_42 from g4_write_membership where wr_subject = '$reg_wr_name' AND wr_id='$max_id[ma]'");
$sql_b = $sql[wr_4];
$jumin = $sql[wr_41]." ".$sql[wr_42]; <--- 이 값을 넘기고 싶습니다.
if ($sql_b != '') {
echo "140"; // 퇴소자
} else {
echo "000"; // 생활자
}
}
}
?>
-------------------------write.skin.jquery-----------------
var reg_wr_name_check = function() {
$.ajax({
type: 'POST',
url: '../skin/board/medical_extension/ajax_wr_name_check.php',
data: {
'reg_wr_name': ($('#reg_wr_name').val())
},
cache: false,
async: false,
success: function(result) {
var msg = $('#msg_wr_name');
switch(result) {
case '110' : msg.html('이름은 공백없이 한글, 숫자만 입력 가능합니다.').css('color', 'red'); break;
case '120' : msg.html('한글 2글자 이상 입력 가능합니다.').css('color', 'red'); break;
case '130' : msg.html("명단에 없습니다.").css('color', 'red'); break;
case '140' : msg.html('퇴소자.').css('color', 'red'); break;
case '000' : msg.html('원내 생활자').css('color', 'blue'); break;
default : alert( '잘못된 접근입니다.\n\n' + result ); break;
}
$('#wr_name_enabled').val(result);
}
});
}
-------------------------------------------------------
댓글 전체

ajax datatype 을 json 으로 하시고 ajax_wr_name_check 에서 콜백으로 가져오실때 json 타입으로 넘기시면 됩니다.
아래처럼 ajax_wr_name_check 에서 넘겨주시고
$json_arr = array( "userName" => $sql[wr_41], "userJumin" => $sql[wr_42] );
echo json_encode( $json_arr );
$('#wr_name_enabled').val(result); 에서 result 이부분을
result.userName, result.userJumin 으로 찍으시면 나올겁니다.
요즘은 json callback 으로 검색하시면 예제 많습니다.
아래처럼 ajax_wr_name_check 에서 넘겨주시고
$json_arr = array( "userName" => $sql[wr_41], "userJumin" => $sql[wr_42] );
echo json_encode( $json_arr );
$('#wr_name_enabled').val(result); 에서 result 이부분을
result.userName, result.userJumin 으로 찍으시면 나올겁니다.
요즘은 json callback 으로 검색하시면 예제 많습니다.
모니터군님 답변 감사드립니다. 위에 처럼 하고 실행하니 잘 안되네요.. 검색을 해봤는데.. 비슷한게 있어야 대체를 할텐데 아는거 없이 할려니 잘 안되네요... 신경써 주셔서 감사합니다.