ajax 에서 if문 사용에 문의 드려요. 정보
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);
}
});
}
댓글 전체
<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
이렇게 값을 받아 옵니다. 배열 키값으로 해당 값을 알수 있습니다.
이예제를 참고하시면 될듯합니다.
<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);
}
}
}
?>
----------------------------------------------------------
아래는 제가 소스에 적용한 내용입니다. 일부내용은 뺐습니다.
--------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);
}
}
}
?>
----------------------------------------------------------
현재 페이지의 주소를 보여주시면 제가 한번 봐드릴수 있을 것 같아요
모니터군님 답변 감사드려요..^^ 사내 인트라넷이라서 페이지 오픈은 안될꺼 같네요..^^
기분좋은 하루되세요
기분좋은 하루되세요