코드중복 확인을 ajax 방식으로 변경 #213

This commit is contained in:
gnuboard
2013-06-07 16:17:19 +09:00
parent b6aa16deac
commit 2e7a5b468c
4 changed files with 75 additions and 34 deletions

View File

@ -0,0 +1,17 @@
<?php
include_once('./_common.php');
$ca_id = trim($_POST['ca_id']);
if (preg_match("/[^0-9a-z]/i", $ca_id)) {
die("{\"error\":\"분류코드는 영문자 숫자 만 입력 가능합니다.\"}");
}
$sql = " select ca_name from {$g4['shop_category_table']} where ca_id = '{$ca_id}' ";
$row = sql_fetch($sql);
if ($row['ca_name']) {
$ca_name = addslashes($row['ca_name']);
die("{\"error\":\"이미 등록된 분류코드 입니다.\\n\\n분류명 : {$ca_name}\"}");
}
die("{\"error\":\"\"}"); // 정상
?>

View File

@ -0,0 +1,17 @@
<?php
include_once('./_common.php');
$it_id = trim($_POST['it_id']);
if (preg_match("/[^\w\-]/", $it_id)) { // \w : 0-9 A-Z a-z _
die("{\"error\":\"상품코드는 영문자 숫자 _ - 만 입력 가능합니다.\"}");
}
$sql = " select it_name from {$g4['shop_item_table']} where it_id = '{$it_id}' ";
$row = sql_fetch($sql);
if ($row['it_name']) {
$it_name = addslashes($row['it_name']);
die("{\"error\":\"이미 등록된 상품코드 입니다.\\n\\n상품명 : {$it_name}\"}");
}
die("{\"error\":\"\"}"); // 정상
?>

View File

@ -131,7 +131,7 @@ $pg_anchor .= '</ul>';
<?php if ($w == "") { ?>
<?php echo help("자동으로 보여지는 분류코드를 사용하시길 권해드리지만 직접 입력한 값으로도 사용할 수 있습니다.\n분류코드는 나중에 수정이 되지 않으므로 신중하게 결정하여 사용하십시오.\n\n분류코드는 2자리씩 10자리를 사용하여 5단계를 표현할 수 있습니다.\n0~z까지 입력이 가능하며 한 분류당 최대 1296가지를 표현할 수 있습니다.\n그러므로 총 3656158440062976가지의 분류를 사용할 수 있습니다."); ?>
<input type="text" name="ca_id" value="<?php echo $subid; ?>" id="ca_id" class="frm_input" size="<?php echo $sublen; ?>" maxlength="<?php echo $sublen; ?>">
<?php if ($default['de_code_dup_use']) { ?><a href="javascript:;" onclick="codedupcheck(document.getElementById('ca_id').value)">코드 중복검사</a><?php } ?>
<!-- <?php if ($default['de_code_dup_use']) { ?><a href="javascript:;" onclick="codedupcheck(document.getElementById('ca_id').value)">코드 중복검사</a><?php } ?> -->
<?php } else { ?>
<input type="hidden" name="ca_id" value="<?php echo $ca['ca_id']; ?>">
<span class="frm_ca_id"><?php echo $ca['ca_id']; ?></span>
@ -393,44 +393,36 @@ $pg_anchor .= '</ul>';
<script>
function fcategoryformcheck(f)
{
if (f.w.value == "") {
var error = "";
$.ajax({
url: "./ajax.ca_id.php",
type: "POST",
data: {
"ca_id": f.ca_id.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
error = data.error;
}
});
if (error) {
alert(error);
return false;
}
}
<?php echo get_editor_js('ca_head_html'); ?>
<?php echo get_editor_js('ca_tail_html'); ?>
<?php echo get_editor_js('ca_mobile_head_html'); ?>
<?php echo get_editor_js('ca_mobile_tail_html'); ?>
if (f.w.value == "") {
if (f.codedup.value == '1') {
alert("코드 중복검사를 하셔야 합니다.");
return false;
}
}
return true;
}
function codedupcheck(id)
{
if (!id) {
alert("분류코드를 입력하십시오.");
f.ca_id.focus();
return;
}
$.post(
"./codedupcheck.php",
{ ca_id: id },
function(data) {
if(data.name) {
alert("코드 '"+data.code+"' 는 '".data.name+"' (으)로 이미 등록되어 있으므로\n\n사용하실 수 없습니다.");
return false;
} else {
alert("'"+data.code+"' 은(는) 등록된 코드가 없으므로 사용하실 수 있습니다.");
document.fcategoryform.codedup.value = '';
}
}, "json"
);
}
/*document.fcategoryform.ca_name.focus(); 포커스 해제*/
</script>

View File

@ -194,7 +194,7 @@ $pg_anchor ='<ul class="anchor">
<!-- <input type=text class=required name=it_id value="<?php echo 10000000000-time()?>" size=12 maxlength=10 required> <a href='javascript:;' onclick="codedupcheck(document.all.it_id.value)"><img src='./img/btn_code.gif' border=0 align=absmiddle></a> -->
<?php echo help("상품의 코드는 10자리 숫자로 자동생성합니다. <b>직접 상품코드를 입력할 수도 있습니다.</b>\n상품코드는 영문자, 숫자, - 만 입력 가능합니다."); ?>
<input type="text" name="it_id" value="<?php echo time(); ?>" id="it_id" required class="frm_input required" size="20" maxlength="20">
<?php if ($default['de_code_dup_use']) { ?><button type="button" class="btn_frmline" onclick="codedupcheck(document.all.it_id.value)">중복검사</a><?php } ?>
<!-- <?php if ($default['de_code_dup_use']) { ?><button type="button" class="btn_frmline" onclick="codedupcheck(document.all.it_id.value)">중복검사</a><?php } ?> -->
<?php } else { ?>
<input type="hidden" name="it_id" value="<?php echo $it['it_id']; ?>">
<span class="frm_ca_id"><?php echo $it['it_id']; ?></span>
@ -1334,8 +1334,23 @@ function fitemformcheck(f)
}
if (f.w.value == "") {
if (f.codedup.value == '1') {
alert("코드 중복검사를 하셔야 합니다.");
var error = "";
$.ajax({
url: "./ajax.it_id.php",
type: "POST",
data: {
"it_id": f.it_id.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
error = data.error;
}
});
if (error) {
alert(error);
return false;
}
}