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

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

생준 4년 전 조회 3,601

</p>

<p><script>

function SetTime()

    {

        var f = document.fwrite;</p>

<p>        // 예약시간을 배열로 정함

        var arrTime = [

            ["닥터1","닥터2","닥터3","닥터4"],  

            ["닥터5","닥터6"],

            ["닥터7","닥터8"],

            ["닥터9"],

        ];</p>

<p>        var TotalCnt = 0;</p>

<p>        f.elements["wr_5"].options.length=0;

        var sgubun = f.elements["wr_9"].value;

        var spart = sgubun;

        </p>

<p>        if(spart == "정형외과"){ 

              arrNum = 0;}

        else if(spart == "내과"){  

              arrNum = 1;}

        else if(spart == "마취통증과"){  

              arrNum = 2;}

        else if(spart == "영상의학과"){ 

              arrNum = 3;}</p>

<p>        TotalCnt = arrTime[arrNum].length;</p>

<p>        for (i=0;i<TotalCnt;i++)

        {

            strTime = arrTime[arrNum][i];

            f.elements["wr_5"].options[i] = new Option(strTime, strTime);

        }</p>

<p>        <?

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

        ?>

    }

    SetTime();</p>

<p></script></p>

<p>

 

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

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

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

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

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

답변 3개

채택된 답변
+20 포인트

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

==

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

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

답변에 대한 댓글 4개

생준
4년 전
TotalCnt = arrTime[arrNum].length;
이쪽 라인으로 나옵니다..
엑스엠엘
4년 전
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;
생준
4년 전
답변 감사드립니다..!
에러는 해결 되었지만 라디오 버튼을 클릭해도 wr_9의 value값이
초기화된 arrNum=0; 의 값으로 고정되어 출력되는것같습니다.. (IE에서만)
엑스엠엘
4년 전
wr_9가 라디오 버튼이라면 여러 개가 있다는 뜻인데
var sgubun = f.elements["wr_9"].value;
이렇게 값을 가져 오는 것이 문제 아닐까요?

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

4년 전

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

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

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

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

포이치
4년 전

function SetTime() {

var arrNum;

 

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

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

답변에 대한 댓글 1개

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

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

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

로그인