끝났다~~ 정보
끝났다~~-
Terrorboys 자기소개 아이디로 검색 회원게시물 (112.♡.♡.4)
- 1,799

본문
어제 오후 부터 지금 까지 짠거에요~
자바 스크립트는 재대로 못다뤄서 고생했네요 ㅋㅋㅋㅋ
다하고 나니 뿌듯하다랄까....
아래소스는 필요하신분 부분 따서 쓰세요..
기능 설명 : 연락처를 입력하면 안보이던 div 2개 출력과 동시에 연락처에 따른 정보를 쿼리해서 이름과 주소를 뿌려줍니다. 클릭하면 input에 자동 마킹된다랄까....
70%는 자바스크립트 같네요 ㅎ.ㅎ;;;;;;;;;;;
모듈 : 또샵 구버전
<!--------------------------------- 오프라인 관리 추가 --------------------------------->
<p>
<style type="text/css">
td {vertical-align:top;}
#view {width:100%}
#view2 {width:100%}
</style>
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="border:solid 1px #D7D7D7">
<tr bgcolor="#fbf8ee" style="border:1px; border-bottum:#000;" align="center">
<th colspan=6 style="padding-top:10px;padding-bottom:10px;">오프라인 구매 추가</th>
</tr>
<tr>
<td colspan=6 height="1" bgcolor="#d7d7d7"></td>
</tr>
<tr bgcolor="#EFEFEF" style="padding-top:5px;padding-bottom:5px;" align="center">
<td>상품명</td>
<td>연락처</td>
<td>구매수량</td>
<td>주문일시</td>
<td>주문자명</td>
<td>주소</td>
</tr>
<tr>
<td colspan=6 height="1" bgcolor="#d7d7d7"></td>
</tr>
<tr style="padding-top:10px;">
<td bgcolor="EFEFEF">
<input type="text" name="shop_add_1" value="기정떡">
</td>
<td>
<input type="text" name="shop_add_5" onChange="keytel()" value="<?=$_GET[num]?>">
</td>
<td bgcolor="EFEFEF">
<input type="text" name="shop_add_3">
</td>
<td>
<input type="text" name="shop_add_4" value="<?=$today_date_1?>">
</td>
<td bgcolor="EFEFEF">
<input type="text" name="shop_add_2">
<div id="view2" style=" position:relative; z-index:1; border:#000000 1px solid; display:none;"></div>
</td>
<td>
<input type="text" name="shop_add_6">
<div id="view" style=" position:relative; z-index:1; border:#000000 1px solid; display:none;"></div>
</td>
</tr>
<tr>
<td colspan="6" align="right">
</td>
</tr>
<tr>
<td colspan="6" align="right">
<button class="btn1" style="cursor:pointer;height:20px;width:45px" onMouseOver="shop_add()">확인</button>
</td>
</tr>
</table>
<script>
function shop_add() {
if (document.getElementById("shop_add_1").value == ""){
alert("상품명을 입력하여 주십시오.");
document.getElementById("shop_add_1").focus();
return;
}
if (document.getElementById("shop_add_2").value == ""){
alert("주문자를 입력하여 주십시오.");
document.getElementById("shop_add_2").focus();
return;
}
if (document.getElementById("shop_add_3").value == ""){
alert("구매수량을 입력하여 주십시오.");
document.getElementById("shop_add_3").focus();
return;
}
if (document.getElementById("shop_add_4").value == ""){
alert("주문일시를 입력하여 주십시오.");
document.getElementById("shop_add_4").focus();
return;
}
if (document.getElementById("shop_add_5").value == ""){
alert("연락처를 입력하여 주십시오.");
document.getElementById("shop_add_5").focus();
return;
}
if (document.getElementById("shop_add_6").value == ""){
alert("주소를 입력하여 주십시오.");
document.getElementById("shop_add_6").focus();
return;
} else {
// location.reload();
//document.write('');
$shop_add_1 = document.getElementById('shop_add_1').value;
$shop_add_2 = document.getElementById('shop_add_2').value;
$shop_add_3 = document.getElementById('shop_add_3').value;
$shop_add_4 = document.getElementById('shop_add_4').value;
$shop_add_5 = document.getElementById('shop_add_5').value;
$shop_add_6 = document.getElementById('shop_add_6').value;
location.href = "./order_list_add.php?shop_add_1="+$shop_add_1+"&shop_add_2="+$shop_add_2+"&shop_add_3="+$shop_add_3+"&shop_add_4="+$shop_add_4+"&shop_add_5="+$shop_add_5+"&shop_add_6="+$shop_add_6;
}
}
</script>
<!-------------------------------- /오프라인 관리 추가/ -------------------------------->
<!-------------------------------- 정보 자동 입력 -------------------------------->
<script>
/*
var cut = new String(document.getElementById('shop_add_5').value);
$("input").keyup(function(){
var value = document.getElementById('shop_add_5').value;
if (cut != value){
window.location = "order_list.php?num=" + value + "#shop_add_5";
return;
}else{
document.getElementById("shop_add_5").focus();
document.getElementById("shop_add_5").value = document.getElementById("shop_add_5").value;
return;
}
}).keyup();
*/
function keytel(){
var value = document.getElementById('shop_add_5').value;
window.location = "order_list.php?num=" + value + "#shop_add_3";
return;
}
</script>
<?
/* 자바 스크립트~
<script>
function on1() {
document.getElementById('2').value = document.getElementById('1').value;
if(document.getElementById('2').value != ""){
document.getElementById("view").style.display='block';
view.innerHTML = "<div id='view["+ i +"]'>"+ i +"</div>";
}
}
</script>
*/
$myphon = $_GET[num]; // GET으로 받아온 핸드폰번호
if ($myphon == ""){
$myphon = "전화번호 없수다.";
}
// 핸드폰 정보로 데이터 가져오기
$query_phon = "select * from g4_order where o_tel = '{$myphon}' or o_hp = '{$myphon}'";
$result_phon = mysql_query($query_phon);
///////////////////////////////////////////////////주소 불러와.//////////////////////////////////////////////////
echo "
<script>
var myphon = \"{$myphon}\";
if (myphon != \"\"){
document.getElementById(\"view\").style.display='block';
}
// document.getElementById('2').value = document.getElementById('1').value;
if(document.getElementById('shop_add_5').value != \"\"){
";
echo "view.innerHTML = \"";
//////////////////////////////////////////////////////////
for($i=0;$i< $phon_load = mysql_fetch_array($result_phon);$i++){
echo "<div onclick='send{$i}()' id='{$i}' style=' border-bottom:#c4c4c4 1px solid;'><input type='hidden' name='view[{$i}]' value='".$phon_load[o_addr1]."'>".$phon_load[o_addr1]."</div>";
}
echo "\";
";
//////////////////////////////////////////////////////////
echo "
}";
echo "</script>";
$menu_list = mysql_affected_rows(); // 강제로 갯수 출력
echo "
<script>";
for($i=0;$i < $menu_list; $i++){
echo "function send{$i}() {";
echo "document.getElementById('shop_add_6').value = document.getElementById('view[{$i}]').value;
";
echo "document.getElementById(\"view\").style.display='none';";
echo "}
";
}
echo "</script>
";
$query_phon = "select * from g4_order where o_tel = '{$myphon}' or o_hp = '{$myphon}'";
$result_phon = mysql_query($query_phon);
//$phon_load = mysql_fetch_array($result_phon);
///////////////////////////////////////////////////이름 불러와.//////////////////////////////////////////////////
echo "
<script>
var myphon = \"{$myphon}\";
if (myphon != \"\"){
document.getElementById(\"view2\").style.display='block';
}
// document.getElementById('2').value = document.getElementById('1').value;
if(document.getElementById('shop_add_5').value != \"\"){
";
echo "view2.innerHTML = \"";
//////////////////////////////////////////////////////////
for($i=0;$i< $phon_load = mysql_fetch_array($result_phon);$i++){
echo "<div onclick='send{$i}_2()' id='{$i}_2' style=' border-bottom:#c4c4c4 1px solid;'><input type='hidden' name='view[{$i}]_2' value='".$phon_load[o_name]."'>".$phon_load[o_name]."</div>";
}
echo "\";
";
//////////////////////////////////////////////////////////
echo "
}";
echo "</script>";
$menu_list = mysql_affected_rows(); // 강제로 갯수 출력
echo "
<script>";
for($i=0;$i < $menu_list; $i++){
echo "function send{$i}_2() {";
echo "document.getElementById('shop_add_2').value = document.getElementById('view[{$i}]_2').value;
";
echo "document.getElementById(\"view2\").style.display='none';";
echo "}
";
}
echo "</script>
";
?>
<!-------------------------------- /정보 자동 입력/ -------------------------------->
0
댓글 2개

onChange 이거 onkeydown 보다 어떤가요?
onChange="keytel()" 에서 onChange="keytel(this.value)" 로 넘기고
function keytel(){
var value = document.getElementById('shop_add_5').value;
에서
function keytel(value){
if(value.length > 5) { // 숫자 몇개 이상? 일때
// var value = document.getElementById('shop_add_5').value;
...
}
로 하면 어떨까요?

저도 처음에는 onkeydown로 해서 했습니다만 소스 자체가 필드 입력마다 값을 새로 지정할경우 서버에 부담이 될수 있을것 같아서 포커스가 해당 필드에서 벗어 날때 한번에 값을 넘기게 설정했습니다.
또한 value.length > 5) 처럼 하지 않은 이유는 글자 수로 할경우 서버 렉때문에 값이 재대로 전송되지 않는 경우가 발생하여 저런식으로 온체인지만 쓰게 됬습니다.