비

ajax 에서 if문 사용에 문의 드려요.

· 2012-10-11 (목) 15:24:02 · 10128 · 4
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :

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개

2012-10-12 (금) 07:15:15
<input type="text" name="reg_wr_id" id="reg_wr_id" value="1111" />

<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
이렇게 값을 받아 옵니다. 배열 키값으로 해당 값을 알수 있습니다.

이예제를 참고하시면 될듯합니다.
2012-10-12 (금) 12:38:20
모니터군님 답변 감사드립니다. 적용을 해봤는데요.. 접근이 올바르지 않다는 메세지가 출력 되면서 잘안되네요... 이해를 못해서 그런가요? ㅠ.ㅠ
아래는 제가 소스에 적용한 내용입니다. 일부내용은 뺐습니다.

--------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);



}
}
}
?>


----------------------------------------------------------
2012-10-13 (토) 01:05:55
현재 페이지의 주소를 보여주시면 제가 한번 봐드릴수 있을 것 같아요
2012-10-13 (토) 09:44:37
모니터군님 답변 감사드려요..^^ 사내 인트라넷이라서 페이지 오픈은 안될꺼 같네요..^^

기분좋은 하루되세요
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
12-10-11 조회 903
12-10-11 조회 1만
12-10-11 조회 1,924
12-10-11 조회 1,720
12-10-11 조회 1,014
12-10-11 조회 1,632
12-10-11 조회 667
12-10-11 조회 854
12-10-11 조회 934
12-10-11 조회 979
12-10-11 조회 849
12-10-10 조회 1,641
12-10-10 조회 828
12-10-10 조회 1,045
12-10-10 조회 800
12-10-10 조회 591
12-10-10 조회 713
12-10-10 조회 787
12-10-10 조회 1,163
12-10-10 조회 1,630