ajax 에서 if문 사용에 문의 드려요.
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
result 값이 150 이하이면 switch 문을 돌리고 150이상이면 result 값을 reg_wr_name 저장하여 출력할려고 아래와 같이 처리 했는데 안되네요.. 머가 문제 일까요???
var reg_wr_name_check = function() {
$.ajax({
type: 'POST',
url: '../skin/board/medical_extension/ajax_wr_name_check.php',
dateType :"json",
data: {
'reg_wr_name': ($('#reg_wr_name').val())
},
cache: false,
async: false,
success: function(result) {
if(result > 150) {
var result = $('#msg_wr_name');
}
else
{
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;
default : alert( '잘못된 접근입니다.\n\n' + result ); break;
}
}
$('#wr_name_enabled').val(result);
}
});
}
오류 주소 :
result 값이 150 이하이면 switch 문을 돌리고 150이상이면 result 값을 reg_wr_name 저장하여 출력할려고 아래와 같이 처리 했는데 안되네요.. 머가 문제 일까요???
var reg_wr_name_check = function() {
$.ajax({
type: 'POST',
url: '../skin/board/medical_extension/ajax_wr_name_check.php',
dateType :"json",
data: {
'reg_wr_name': ($('#reg_wr_name').val())
},
cache: false,
async: false,
success: function(result) {
if(result > 150) {
var result = $('#msg_wr_name');
}
else
{
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;
default : alert( '잘못된 접근입니다.\n\n' + result ); break;
}
}
$('#wr_name_enabled').val(result);
}
});
}
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 4개
<input type="text" name="reg_wr_name" id="reg_wr_name" value="" />
<input type="text" name="wr_jumin" id="wr_jumin" value="" />
<script>
$(document).ready(function(){
var reg_wr_id = $('#reg_wr_id').val();
$.ajax({
type: "POST",
url: "./test2.php",
data: {'reg_wr_id':reg_wr_id},
dataType: "json",
success: function(data){
// data 값은 json 으로 되어있습니다.
switch(data.chkCode) {
case '100' : // 성공코드가 들어왔을 경우 상위 input 박스에 값이 입력되게 아래와 같이 처리했어요
$('#reg_wr_name').val(data.userName);
$('#wr_jumin').val(data.userjumin);
break;
case '110' : alert('이름은 공백없이 한글, 숫자만 입력 가능합니다.'); break;
case '120' : alert('한글 2글자 이상 입력 가능합니다.'); break;
case '130' : alert("명단에 없습니다."); break;
case '140' : alert('퇴소자.'); break;
default : alert( '잘못된 접근입니다.\n\n Error Code: ' + data.chkCode ); break;
}
}
});
});
</script>
test2.php 파일 에는
$data['chkCode'] = '100';
$data['userName'] = 'user Name';
$data['userjumin'] = 'user Jumin';
echo json_encode($data);
처리 되어있습니다.
json 으로 넘기면
success: function(data){ 받는 data 값에는 data.chkCode, data.userName, data.userjumin
이렇게 값을 받아 옵니다. 배열 키값으로 해당 값을 알수 있습니다.
이예제를 참고하시면 될듯합니다.
아래는 제가 소스에 적용한 내용입니다. 일부내용은 뺐습니다.
--------write.skin.php -------------------------------
<script type="text/javascript" src="<?=$board_skin_path?>/write.skin.jquery.js"></script>
<script type="text/javascript" src="<?=$g4[path]?>/js/md5.js"></script>
<script type="text/javascript" src="<?=$g4[path]?>/js/sideview.js"></script>
..중략...
<td class=write_head>성 명</td>
<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>
<input type="text" name="wr_jumin" id="wr_jumin" value="" />
...중략....
if (f.w.value == "") {
reg_wr_name_check();
if (document.getElementById('wr_name_enabled').value =='000'&& document.getElementById('wr_name_enabled').value=='150') {
alert('생활자 이름을 입력하지 않았거나 입력에 오류가 있습니다.');
document.getElementById('reg_wr_name').select();
return;
}
}
------------write.skin.jqert.js --------------------------------------------
var reg_wr_name_check = function() {
var reg_wr_name = $('#reg_wr_name').val();
$.ajax({
type: 'POST',
url: '../skin/board/medical_extension/ajax_wr_name_check.php',
dateType :"json",
data: {'reg_wr_name':reg_wr_name},
cache: false,
async: false,
success: function(data) {
var msg = $('#msg_wr_name');
switch(data.chkCode) {
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 '150' : msg.html('후송자.').css('color', 'blue'); break;
case '000' : msg.html('생활자.').css('color', 'black');break;
default : alert( '잘못된 접근입니다.nn Error Code: ' + data.chkCode ); break;
}
$('#wr_name_enabled').val(data.chkCode);
$('#wr_jumin').val(data.userjumin);
}
});
}
------------ajax_wr_name_check.php--------------------------------------
if (!check_string($reg_wr_name, _G4_HANGUL_ + _G4_NUMERIC_)) {
$data['chkCode'] = '110';
$data['userjumin'] = ''; // 유효하지 않은 회원아이디
echo json_encode($data);
} else if (strlen($reg_wr_name) < 4) {
$data['chkCode'] = '120';
$data['userjumin'] = ''; // 3보다 작은 회원아이디
echo json_encode($data);
} else {
$row = sql_fetch(" select count(*) as cnt from g4_write_membership where wr_subject = '$reg_wr_name' ");
$row1 = $row[cnt];
if ($row1 == 0 ) {
$data['chkCode'] = '130';
$data['userjumin'] = '';
echo json_encode($data);
} 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_2, 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]; // 퇴소자 체크
$sql_a = $sql[wr_2]; // 후송자 체크
$jumin = $sql[wr_41]." - ".$sql[wr_42]; // 주민번호
if ($sql_b != '') {
$data['chkCode'] = '140';
$data['userjumin'] = '';
echo json_encode($data);
} else if($sql_a == '후송자'){
$data['chkCode'] = '150';
$data['userjumin'] = $jumin;
echo json_encode($data);
} else {
$data['chkCode'] = '000';
$data['userjumin'] = $jumin;
echo json_encode($data);
}
}
}
?>
----------------------------------------------------------
기분좋은 하루되세요