항목추가할수 있는 다중카테고리 크롬에서는 한번만실행돼고 안돼는이유?
프로그램 초보입니다.문제점이 생겨 문의드립니다.
ie6에서 잘작동되어 그런줄알았는데 크롬에서 실행해보니
한번만 작동되고 그후론 아무반응이 없어문의드립니다.
소스는 아래와같습니다.
(행을 여러개개추가시킨후 순서에 상관없이 딱 한번만실행됨)
innerHTML 로 무한정 input 태그를 생성하고 삭제할수있는데요(소스는생략)
추가버튼 눌러 행을 한개이상 출력하면 무조건 한번만 작동이돼고
그후론 아무것도 작동이안돼네요.
ie6에선 잘돼구요.
어느부분을 보안해야하는지 조언좀구해봅니다.
write.php
====================================================
<script type="text/javascript">
function selectMake(target,num) {
var obj;
alert(num);
if(target=='cate2'){
obj = document.getElementsByName('m_cate[]');
}
var trigger = obj[num].value; // 첫번째 selectbox의 선택된 값
dynamic.src = "category.data.php?trigger=" + trigger + "&target=" + target + "&num=" + num;
}
</script>
<table width='100%' border='0' cellpadding='5' cellspacing='0' class='style'>
<tr class=write_head>
<td align='center' width='27%' hegiht="25">대분류</td><td align='center' width='22%'>중분류</td><td align='center' width='18%'>제조사</td><td align='center' width='22%'>소프트명</td><td align='center' width='12%'>가 격</td><tr>
<tr>
<td bgcolor="#CFCFCF" height="1" colspan="5"></td>
</tr>
</table>
<table id="variableData" cellpadding=0 cellspacing=0 width="100%"></table>
<SCRIPT LANGUAGE="JavaScript">
<!--
var dten =0;
function add_data(delete_code){
var objTbl;
var objRow;
var objCell;
var m_cate;
var s_cate;
var cate_company;
m_cate = " <SELECT NAME='m_cate[]' onChange=selectMake('cate2','" + dten +"');>";
m_cate += "<option value=''>▒▒▒선택하세요▒▒▒</option>";
<?
$sql = " select num,cate_name from category order by num asc";
$result = sql_query($sql);
while ($rr = sql_fetch_array($result)){
?>
m_cate += "<option value='<?=$rr[num]?>' ><?=$rr[cate_name]?></option>";
<?}?>
m_cate += "</SELECT>";
s_cate = " <SELECT NAME='s_cate[]'>";
s_cate += "<option value=''>▒▒선택하세요▒▒</option>";
s_cate += "</SELECT>";
if (document.getElementById)
objTbl = document.getElementById("variableData");
else
objTbl = document.all["variableData"];
objRow = objTbl.insertRow(objTbl.rows.length);
objCell = objRow.insertCell(0);
var layer_html = "<table width='100%' border='0' cellpadding='5' cellspacing='0' class='style'>"
+ "<tr>"
+ "<td align='center' width='28%'>" + m_cate + "</td>"
+ "<td align='center' width='18%'>"+ s_cate +" </td>"
+ "<td width='15%'><input name='cate_company[]' type='text' class='boxborder' style='ime-mode:active' size='12'></td>"
+ "<td align='center' width='19%'><input name='cate_name[]' type='text' class='boxborder' style='ime-mode:active' size='15'></td>"
+ "<td align='center' width='18%'><input name='cate_price[]' type='text' class='boxborder' style='ime-mode:active' size='10' ></td>"
+"</tr>"
+ "</table>";
objCell.innerHTML = layer_html;
if (delete_code)
objCell.innerHTML += delete_code;
dten++;
}
add_data('');
</script>
category.php
========================================================
<?php
$trigger = $_GET['trigger'];
$target = $_GET['target'];
$num = $_GET['num'];
if ($target == 'cate2') {
$fview = "▒▒ 선택하세요 ▒▒";
$QQ = " cate_main_num = '$trigger' order by num asc";
$out = "num,cate_sub_name";
$out_key="num";
$out_value="cate_sub_name";
echo " var obj2= document.getElementsByName('s_cate[]');";
}
$sql = "SELECT ".$out." FROM category_sub where ".$QQ;
$result = sql_query($sql);
//$sql=mysql_fetch_array($res);
$sqlcount=mysql_num_rows($result);
$total=$sqlcount+1;
echo "obj2[$num].length = '$total'; \n";
$i=0;
echo "obj2[$num].options[$i].text = '$fview'; \n";
echo "obj2[$num].options[$i].value = ''; \n";
while ($rows = sql_fetch_array($result)){
$i++;
echo "obj2[$num].options[$i].text = '$rows[$out_value]'; \n";
echo "obj2[$num].options[$i].value = '$rows[$out_value]'; \n";
}
?>
ie6에서 잘작동되어 그런줄알았는데 크롬에서 실행해보니
한번만 작동되고 그후론 아무반응이 없어문의드립니다.
소스는 아래와같습니다.
(행을 여러개개추가시킨후 순서에 상관없이 딱 한번만실행됨)
innerHTML 로 무한정 input 태그를 생성하고 삭제할수있는데요(소스는생략)
추가버튼 눌러 행을 한개이상 출력하면 무조건 한번만 작동이돼고
그후론 아무것도 작동이안돼네요.
ie6에선 잘돼구요.
어느부분을 보안해야하는지 조언좀구해봅니다.
write.php
====================================================
<script type="text/javascript">
function selectMake(target,num) {
var obj;
alert(num);
if(target=='cate2'){
obj = document.getElementsByName('m_cate[]');
}
var trigger = obj[num].value; // 첫번째 selectbox의 선택된 값
dynamic.src = "category.data.php?trigger=" + trigger + "&target=" + target + "&num=" + num;
}
</script>
<table width='100%' border='0' cellpadding='5' cellspacing='0' class='style'>
<tr class=write_head>
<td align='center' width='27%' hegiht="25">대분류</td><td align='center' width='22%'>중분류</td><td align='center' width='18%'>제조사</td><td align='center' width='22%'>소프트명</td><td align='center' width='12%'>가 격</td><tr>
<tr>
<td bgcolor="#CFCFCF" height="1" colspan="5"></td>
</tr>
</table>
<table id="variableData" cellpadding=0 cellspacing=0 width="100%"></table>
<SCRIPT LANGUAGE="JavaScript">
<!--
var dten =0;
function add_data(delete_code){
var objTbl;
var objRow;
var objCell;
var m_cate;
var s_cate;
var cate_company;
m_cate = " <SELECT NAME='m_cate[]' onChange=selectMake('cate2','" + dten +"');>";
m_cate += "<option value=''>▒▒▒선택하세요▒▒▒</option>";
<?
$sql = " select num,cate_name from category order by num asc";
$result = sql_query($sql);
while ($rr = sql_fetch_array($result)){
?>
m_cate += "<option value='<?=$rr[num]?>' ><?=$rr[cate_name]?></option>";
<?}?>
m_cate += "</SELECT>";
s_cate = " <SELECT NAME='s_cate[]'>";
s_cate += "<option value=''>▒▒선택하세요▒▒</option>";
s_cate += "</SELECT>";
if (document.getElementById)
objTbl = document.getElementById("variableData");
else
objTbl = document.all["variableData"];
objRow = objTbl.insertRow(objTbl.rows.length);
objCell = objRow.insertCell(0);
var layer_html = "<table width='100%' border='0' cellpadding='5' cellspacing='0' class='style'>"
+ "<tr>"
+ "<td align='center' width='28%'>" + m_cate + "</td>"
+ "<td align='center' width='18%'>"+ s_cate +" </td>"
+ "<td width='15%'><input name='cate_company[]' type='text' class='boxborder' style='ime-mode:active' size='12'></td>"
+ "<td align='center' width='19%'><input name='cate_name[]' type='text' class='boxborder' style='ime-mode:active' size='15'></td>"
+ "<td align='center' width='18%'><input name='cate_price[]' type='text' class='boxborder' style='ime-mode:active' size='10' ></td>"
+"</tr>"
+ "</table>";
objCell.innerHTML = layer_html;
if (delete_code)
objCell.innerHTML += delete_code;
dten++;
}
add_data('');
</script>
category.php
========================================================
<?php
$trigger = $_GET['trigger'];
$target = $_GET['target'];
$num = $_GET['num'];
if ($target == 'cate2') {
$fview = "▒▒ 선택하세요 ▒▒";
$QQ = " cate_main_num = '$trigger' order by num asc";
$out = "num,cate_sub_name";
$out_key="num";
$out_value="cate_sub_name";
echo " var obj2= document.getElementsByName('s_cate[]');";
}
$sql = "SELECT ".$out." FROM category_sub where ".$QQ;
$result = sql_query($sql);
//$sql=mysql_fetch_array($res);
$sqlcount=mysql_num_rows($result);
$total=$sqlcount+1;
echo "obj2[$num].length = '$total'; \n";
$i=0;
echo "obj2[$num].options[$i].text = '$fview'; \n";
echo "obj2[$num].options[$i].value = ''; \n";
while ($rows = sql_fetch_array($result)){
$i++;
echo "obj2[$num].options[$i].text = '$rows[$out_value]'; \n";
echo "obj2[$num].options[$i].value = '$rows[$out_value]'; \n";
}
?>
|
댓글을 작성하시려면 로그인이 필요합니다.