테스트 사이트 - 개발 중인 베타 버전입니다

onfocus 자바스크립트 문제..

· 12년 전 · 855 · 5
밑에 가르쳐 주신대로 해도 에러나네요 풀코드 올립니다. 영카트의 item.php 파일입니다

// 선택옵션 출력
for ($i=1; $i<=6; $i++)
{
if (strtolower($it["it_opt{$i}"]) == "input") {
echo "<tr height=25>";
echo "<td>&nbsp;&nbsp;&nbsp; · ".$it["it_opt{$i}_subject"]."</td>";
echo "<td align=center>:</td>";
echo "<td style='word-break:break-all;'>";
echo "<input name='it_opt{$i}_subject' type='hidden' value='{$it["it_opt{$i}_subject"]}'>";
echo "<input name='it_opt{$i}' type="text" size="25" style="width:150;height:17;ime-mode:active;"
class="search_input" value="색상표를 확인하시고 번호를 입력하세요" onfocus="keyfocus(0);" onclick="keyfocus(0);" onblur="keyfocus(1);">";
echo "</td></tr>\n";
echo "<tr><td colspan=3 height=1 background='$g4[shop_img_path]/dot_line.gif'></td></tr>\n";

}
else {
// 옵션에 문자가 존재한다면
$str = get_item_options(trim($it["it_opt{$i}_subject"]), trim($it["it_opt{$i}"]), $i);
if ($str)
{
echo "<tr height=25>";
echo "<td>&nbsp;&nbsp;&nbsp; · ".$it["it_opt{$i}_subject"]."</td>";
echo "<td align=center>:</td>";
echo "<td style='word-break:break-all;'>$str</td></tr>\n";
echo "<tr><td colspan=3 height=1 background='$g4[shop_img_path]/dot_line.gif'></td></tr>\n";
}
}
}
?>
<SCRIPT LANGUAGE="JavaScript">
<!--
function keyfocus(opt) {
var sw = document.fitem.it_opt{$i}};

if (opt==0) {
if (sw.value == "색상표를 확인하시고 번호를 입력하세요") {
sw.value="";
}
}else{
if (sw.value == "") {
sw.value="색상표를 확인하시고 번호를 입력하세요";
}
}
}



//-->
</SCRIPT>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 5개

var sw = document.fitem.it_opt{$i}}; 의 마지막 } 를 빼고 해보세요.
즉 var sw = document.fitem.it_opt{$i};
12년 전
여전히 같은 http500에러를 출력합니다...ㅠ
12년 전
var sw = document.fitem.it_opt{$i}};

이부분은 바꾸라고 말씀드렸었는데요

자바스크립트에서 php 시작,종료 구문없이 변수를 바로 쓰면 오류가 납니다

var sw = document.fitem.it_opt;

이렇게 하든지

$i 에 해당 하는 값을 함수호출시 같이 넘겨서 eval 로 처리하셔야 합니다.
12년 전
변경해도 출력은 똑같이 http500 에러가 뜨네요./..ㅠㅠ
12년 전
오류 사이트 URL 주소 적어줘 보실래요?

게시글 목록

번호 제목
284508
284499
284492
284490
284484
284481
284478
284476
284474
284472
284470
284458
284457
284454
284453
284447
284446
284444
284441
284440