Uncaught TypeError: Cannot read property 'select' of undefined 오류 ㅠㅠ 입니다
본문
셀렉트 박스에서 일수와 추가 인원에 따라 합산이 되어야 하는 구조 입니다.
하지만 셀렉트 부분의 값을 수정하면 아래와 같은 오류가 발생을 합니다.
해당
function checkPrice(wr_id)
{
var select = document.forms["write"]["select"].value;
var use = document.forms["write"]["use[" + wr_id + "]"].value;
var stay = document.forms["write"]["stay[" + wr_id + "]"].value;
var person = document.forms["write"]["person[" + wr_id + "]"].value;
if(use)
{
window.alert("선택하신 객실은 예약이 불가능합니다.");
return false;
}
var request = create_request();
request.onreadystatechange = function()
{
if(request.readyState == 4)
{
if(request.status == 200)
{
document.getElementById("price[" + wr_id + "]").innerHTML = request.responseText;
checkTotal();
}
else
{
window.alert("프로그램 오류가 발생하였습니다.");
}
}
}
request.open("post", g5_bbs_skin_url + "/check.ajax.php", true);
request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
request.send("bo_table=" + g5_bo_table + "&wr_id=" + wr_id + "&select=" + select + "&stay=" + stay + "&person=" + person);
return;
}
<td>
<label for="if_stay[<?php echo $ROOM[$i]['wr_id']; ?>]" class="sound_only">숙박기간</label>
<select name="stay[<?php echo $ROOM[$i]['wr_id']; ?>]" id="if_stay[<?php echo $ROOM[$i]['wr_id']; ?>]" onchange="checkPrice('<?php echo $ROOM[$i]['wr_id']; ?>');" <?php echo $ROOM[$i]['disabled']; ?>>
<?php optionStay($ROOM[$i]['stay']); ?>
</select>
</td>
<td>
<label for="if_person[<?php echo $ROOM[$i]['wr_id']; ?>]" class="sound_only">인원선택</label>
<select name="person[<?php echo $ROOM[$i]['wr_id']; ?>]" id="if_person[<?php echo $ROOM[$i]['wr_id']; ?>]" onchange="checkPrice('<?php echo $ROOM[$i]['wr_id']; ?>');" <?php echo $ROOM[$i]['disabled']; ?>>
<?php optionPerson($ROOM[$i]['wr_2'], $ROOM[$i]['wr_3']); ?>
</select>
</td>
이 셀렉트의 내용인데...
셀렉트 안의 option들은 정상적으로 나오는데...
왜 값을 변경 하면 ㅠ 저런 오류가 뜰까요 하악 ㅠㅠ
답변 4
스크립트의 에러나는 위치를 보여 주셔야 할꺼같습니다.
var select = document.forms["write"]["select"].value;
..
request.send("bo_table=" + g5_bo_table + "&wr_id=" + wr_id + "&select=" + select + "&stay=" + stay + "&person=" + person);
이 두부분에서 의심대네요 write 라는 폼에서 select 라는 이름의 element 에서 값을 가져와서 보내주는건지..
var
select = document.forms[
"write"
][
"select"
].value;<---이건 <select name='select'~~~>
이런 태그가 있어야 하는데 이런 이름을 가진 것이 없으니 나오는 에러입니다
-- 이 태그는 날짜 선택 select box인데 이걸 삭제했나보군요
태그를 없앴으면 자바스크립트에서도 없애버려야죠
혹시 다운받은 예약스킨에서 같은 에러가 나는 분은
<form id="mara_write" name="fwrite" <--- name='write'로 수정하세요
소스가 이상하네요
적당한 곳에 아래 코드를 넣으세요
답변을 작성하시기 전에 로그인 해주세요.