게시판글쓰기 글자수 제한 및 경고창 문의드립니다. 채택완료
게시판글쓰기 화면 write.skin.php 에서
<div class="write_div">
<label for="wr_1" class="sound_only">등록번호<strong>필수</strong></label>
<input type="text" name="wr_1" value="<?php echo $wr_1 ?>" id="wr_1" required class="frm_input half_input required" size="17" maxlength="17" placeholder="등록번호 17자리를 입력해주세요.">
</div>
17자리를 입력하지 않으면, 경고창이 뜨게 하고 싶습니다. (17자리를 입력해야 다음 항목으로 넘어가도록)
기존에 질문들을 다 뒤져보고 적용해 보아도 잘 되지 않아서 이렇게 글을 올립니다.ㅠㅠ
고수님들~부탁드립니다~
답변 3개
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p> </p>
<p><script language=javascript></p>
<p>
function displayBytes( sz, id )
{
var form = document.form;</p>
<p> var obj = document.getElementById( id );</p>
<p> if (obj.value.bytes() < sz)
{ //80바이트를 넘기면
if (event.keyCode != '8') //백스페이스는 지우기작업시 바이트 체크하지 않기 위해서
{
alert('질문1 17글자 이상 입력해야합니다.');
//obj.value = obj.value.substring(0,sz);
//var text1 = $('.id');
obj.focus();</p>
<p>
}
//obj.value = obj.value.substring(0, obj.value.length-1);
}</p>
<p> eval('document.all.'+id+'_bytes').innerHTML = eval('form.'+id).value.bytes()+" byte";
}</p>
<p>String.prototype.bytes = function()
{
var str = this;
var l = 0;
for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 2 : 1;
return l;
}</p>
<p> </p>
<p>
</script></p>
<p></HEAD></p>
<p><BODY></p>
<p><form name='form'>
질문1.
<textarea id='chk1' name='chk1' cols='30' rows='10' style='overflow:hidden;'></textarea>
<div name='chk1_bytes' id='chk1_bytes'></div>
질문2.
<textarea id='chk2' name='chk2' onkeyup='javascript:displayBytes(34,"chk1");' cols='30' rows='10' style='overflow:hidden;'></textarea>
<div name='chk2_bytes' id='chk2_bytes'></div></p>
<p></form>
</p>
<p> </p>
<p>
참고하세요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
<input type="text" name="wr_1" id="wr_1" value="<?php echo $wr_1 ?>" id="wr_1" required class="frm_input half_input required" size="17" maxlength="18" placeholder="등록번호 17자리를 입력해주세요." onkeyup="byte_check('wr_1');">
<script language="JavaScript">
function byte_check(wr_1)
{
var pos, pch, ch;
var cnt = 0;
var text = document.getElementById('wr_1');
var len = text.value.length;
for (i=0;i<len;i++){
pos = text.value.charAt(i);
// 자리수 계산.
ch = escape(pos);
if (pch == '%0D' && ch == '%0A') { } // 2byte enter (\n\r)
else if (ch.length > 4) cnt += 2;
else cnt++;
pch = ch;
}
if (cnt > 17) {
alert(' 글자수는 17자까지 가능합니다.');
//document.getElementById('wr_2').focus();
}
}
</script>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
알려주신대로 적용해보니 정상적으로 작동 됩니다. 고수님 감사합니다. ^^