>> Delete Reply from No. 45405 article
No. RE: submit 하기 전에 JavaScript로 체크하세요.

등록 2002-03-23 12:04:00 By localhost     조회 2
이름 조준기    

		일단 서버를 콜하는것은 최소한으로 줄이는 것이 좋습니다.
다음 코드를 참고하십시오.
 title 객체의 maxlength를 50으로 잡았지만 한번 더 체크를 해 주고 있습니
다. IE의 경우 내부적으로 유니코드를 사용하기 때문에 한글이나 영문을 모
두 다 1글자로 처리합니다. 이런 경우 한글을 2바이트로 처리하는 기타 DB
나 프로그램들과 문제가 생길 수 있기 때문에(IE에서 한글 50문자는 실제
100바이트임) 제 경우는 글자수 카운트 함수를 따로 만들어서 사용하고 있습
니다.
 <script>
 function CheckByte(str)
{
    var i;
    var strLen;
    var strByte;
    strLen = str.length;
    // IE4.0 이상
    if(IEYES == 1)
    {
        for(i=0, strByte=0;i<strLen;i++)
        {
            if(str.charAt(i) >= ' ' && str.charAt(i) <= '~' )
                strByte++;
            else
                strByte += 2;
        }
        return strByte;
    }
    // Netscape일 경우
    else
    {
        return strLen;
    }
}
 function go_submit() {
    if (CheckByte(document.myform.title.value) > 50) {
        alert("제목이 50글자를 넘었습니다.");
        return;
    }
     ... ...
     document.myform.submit();
}
</script>
 ... ...
<body>
 <form method=post name=myform>
<input type=text name=title maxlength=50 size=50>
... ...
<input type=button value="저장" onclick="go_submit()">
</form>
    : 안녕하세요.
:
: 제가 요즘 프로그램하면.. ㅡㅡ; 해결하지 못하는 문제에 직면해 있는데,
: 바로 이것입니다. 폼에서 글을 적은 후 서밋을 하게되면 PHP에서 자료검
: 증을 거치고, 적합하지 않으면 예전에는 그냥 BACK을 하면 되었지만, 지
: 금은 history(-1)하면 값은 하나도 남아 있지 않습니다.
:
: 이전에는 패스워드 폼값만 사라졌는데, 현재 익스플로러가 버젼 업되면서
: 부터는 모든 폼값이 남아 있지 않는군요.. 지금 현제 이 게시판 역시도..
: PHP에서 내용 체크후에 값들이 사라지는군요..( 다른 분들은 어떻게 처리
: 하나 해서 열심히 소스를 들여다 보았지만, 안데더군요.. ㅡㅡ;; ; )
:
: 그래서, 제가 찾은 방법은 자신이 자신에게 서밋해서.. 체크하고, 그대로
: 내려서 뿌려주는 것인데 말입니다. 이건 머리 아픕니다. 너무도 많은 변
: 수들이.. 쩝.
:
: 다른 분들은 세션에 넣는다, 버퍼 DB를 잡아서 넣었다가 히스토리백했을
: 때.. 데이터가 있으면 빼서 뿌려준다.. T^T;; 이건 더 말이 안되는 것같
: 습니다.
:
: 제가 생각하기로는 <form> <input> 테그에 옵션이 생기지 않았을까.? 합
: 니다. 문제를 만들었으면, 해결할 방법도 간구해 놓지 않았을까요.ㅡㅡ?
: MS는.. 모르져.. 쩝.. ( 저는 MS가 싫어요..~! )
:
: 혹시 아시는 분이나 문제를 해결할 기발한 아이디어라두..ㅡㅡ'' 공개하
: 기 싫으시면, 저에게만 멜루 귀뜸해주시면... .
: 감사하겠습니다. ^^--3월 10일이 첫째아들 경찬이의 생일입니다.
어제 선물로 레고블럭을 사다 줬습니다.
연년생 동생과 재미있게 놀았습니다.
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved