Page 1 of 1

[질문] 자바스크립트로 한글를 자를때...

Posted: 2005 04 27 18:09 28
by 초코리
SMS을 보내는 홈페이지를 쓰고 있습니다..

파이어폭스에서 문제가 발생하는데요

80글자가 넘으면 자동으로 80글자까지

삭제 하는 스크립트 같습니다.

IE에서는 정상 동작하는데

파이어폭스에서는 전체 글을 삭제하는 문제가 있습니다

자바 스크립트는 다음과 같습니다.

뭐가 문제인지 알아야 고쳐달라고 조를수 있는데

다음 스크립트가 뭐가 문제 일까요

답변 부탁드립니다.

Code: Select all

function cutChar(doc)
{
        var str,msg;
        var len=0;
        var temp;
        var count;
        count = 0;

        msg = doc.phone_form.msg.value;
        str = new String(msg);
        len = str.length;


	for (k=0;k<len;k++)
        {        
		var onechar = str.charAt(k);
       
		 if (escape(onechar).length > 4 ) {
                        count += 2;
                }
                else {
                        count++;
                }

		if(count > 80) {
                        
                        str = str.substring(0,k);
			alert("메시지 내용은 80바이트 이상은 전송하실수 없습니다.\r\n 초과된 부분은 자동으로 삭제됩니다.");
                        break;
                }
        }
        doc.phone_form.msg.value = str;
        //doc.phone_form.msglen.value = k +" / 80 byte";
        checkMsg(str);

}
[/code]

Posted: 2005 04 28 20:00 38
by 하늘다람쥐
원래 소스를 알 수가 없어서 정확한 답변을 드리긴 힘들지만, 보여주신 자바스크립트에서 틀린 것은 폼을 통해 msg를 찾는 부분입니다.

Code: Select all

doc.phone.form.msg.value -> doc.forms["phone_form"].msg.value
단, doc가 소스로 추정해 볼땐 document 객체가 맞는 것 같은데 아니라면 제대로 작동하지는 않을겁니다.

아니면 간단하게 아래처럼 수정해도 됩니다. 그러면 doc는 필요없겠죠.

Code: Select all

doc.phone.form.msg.value -> document.getElementById("msg").value