IE에서 '00'이(가) 정의되지 않았습니다. 채택완료

Copy
<script>
function SetTime()
    {
        var f = document.fwrite;

        // 예약시간을 배열로 정함
        var arrTime = [
            ["닥터1","닥터2","닥터3","닥터4"],  
            ["닥터5","닥터6"],
            ["닥터7","닥터8"],
            ["닥터9"],
        ];

        var TotalCnt = 0;

        f.elements["wr_5"].options.length=0;
        var sgubun = f.elements["wr_9"].value;
        var spart = sgubun;
        

        if(spart == "정형외과"){ 
              arrNum = 0;}
        else if(spart == "내과"){  
              arrNum = 1;}
        else if(spart == "마취통증과"){  
              arrNum = 2;}
        else if(spart == "영상의학과"){ 
              arrNum = 3;}

        TotalCnt = arrTime[arrNum].length;

        for (i=0;i<TotalCnt;i++)
        {
            strTime = arrTime[arrNum][i];
            f.elements["wr_5"].options[i] = new Option(strTime, strTime);
        }

        <?
        if($w == "u") echo "f.wr_5.value = '{$write['wr_5']}'; ";
        ?>
    }
    SetTime();

</script>

이런식으로 정형외과, 내과, 마취통증과, 영상의학과 4가지의 라디오 버튼 중 한가지를 선택하면

아래 select에 옵션으로 각각 닥터 리스트가 출력되게끔 했는데 크롬은 이상 없고

IE에서만 SCRIPT5009: 'arrNum'이(가) 정의되지 않았습니다. 라는 콘솔 에러가 나오네요..

어떻게 해결방안 있을까요??

답변 3개

채택된 답변
+20 포인트

IE에서만 SCRIPT5009: 'arrNum'이(가) 정의되지 않았습니다. 라는 콘솔 에러가 나오네요..

==

라인 번호도 같이 보여 주지 않나요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

TotalCnt = arrTime[arrNum].length;
이쪽 라인으로 나옵니다..
arrNum=0; // 초기화
if(spart == "정형외과"){
arrNum = 0;}
else if(spart == "내과"){
arrNum = 1;}
else if(spart == "마취통증과"){
arrNum = 2;}
else if(spart == "영상의학과"){
arrNum = 3;}

모든 조건 문에 참이 안 되면
arrNum이 정의되지 않기 때문에 발생하는 것으로 보입니다.
arrNum 초기화를 추가해 보세요.
TotalCnt = arrTime[arrNum].length;
답변 감사드립니다..!
에러는 해결 되었지만 라디오 버튼을 클릭해도 wr_9의 value값이
초기화된 arrNum=0; 의 값으로 고정되어 출력되는것같습니다.. (IE에서만)
wr_9가 라디오 버튼이라면 여러 개가 있다는 뜻인데
var sgubun = f.elements["wr_9"].value;
이렇게 값을 가져 오는 것이 문제 아닐까요?

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

라디오 버튼 형식을 셀렉트 형식으로 수정하니 해결 됐습니다!

답변 주신분들께 감사드립니다^^

로그인 후 평가할 수 있습니다

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

function SetTime() {

var arrNum;

이렇게 선언 하시고 돌려보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

이렇게 선언하고 돌리면
TotalCnt = arrTime[arrNum].length;
이쪽 라인에서
SCRIPT5007: 정의되지 않음 또는 null 참조인 'length' 속성을 가져올 수 없습니다.
이런 에러가 납니다 ㅠㅠ

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

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고