2008-09-22 8 views

답변

127

2 개의 주요 솔루션이 있습니다

function limitText(limitField, limitNum) { 
    if (limitField.value.length > limitNum) { 
     limitField.value = limitField.value.substring(0, limitNum); 
    } 
} 

어쨌든,이 좋은 해결책이 아닙니다. 모든 클라이언트의 잘못된 HTML 구현에 적응할 수는 없지만이기려면 불가능한 싸움입니다. PHP/Python/어떤 스크립트를 사용하여 서버 측에서 확인하는 것이 훨씬 더 나은 이유입니다.

+25

최종 점검으로 서버를 점검하십시오. 그렇게 할 수 있으면 클라이언트 측 개선을 추가하십시오. 더 풍부한 사용자 경험을 제공합니다. – Rob

+1

물론, 더 많은 작업이 있지만 확실히 갈 수있는 가장 좋은 방법입니다. –

41

다른 사람이 말했듯이

<input type="text" name="textboxname" maxlength="100" /> 
+1

이것은 사실 매우 빠르고 jQuery로 최대 길이를 설정할 수 있지만, 일부 고객은이를 확인하지 않습니다. 이것은 휴대 전화 기반 클라이언트의 경우 특히 중요합니다. – Drejc

+0

또한 삭제할 수있는 방법이 있습니다. 예를 들어 Firefox Web Developer Extension에는 최대 길이 제거 기능이 있습니다. –

+0

크롬과 개발자 키트 (브라우저와 함께 제공)를 사용하면 HTML에서 이러한 것들을 제거하는 것이 간단합니다. – AntonioCS

5

는 "최대 길이"속성을 사용 때문이다.

텍스트 영역에 최대 문자 길이를 넣어야하는 경우 Javascript로 전환해야합니다. 여기를보십시오 : How to impose maxlength on textArea in HTML using JavaScript

+0

링크가 작동하지 않습니다. – TlonXP

+0

이 링크를 StackOverflow : http://stackoverflow.com/questions/1125482에서 확인하십시오./how-to-impose-maxlength-on-textarea-in-html-using-javascript – TlonXP

11

위의 내용 외에도 클라이언트 쪽 유효성 검사 (HTML 코드, 자바 스크립트 등)가 충분하지 않다는 점을 지적하고 싶습니다. 또한 서버 측 길이를 확인하거나 전혀 확인하지 마십시오 (사람들이 주변을 둘러 볼 수 없도록하는 것이 중요하지 않은 경우이를 방지하기위한 조치를 실제로 취할만큼 중요하지 않습니다).

또한 친구 (또는 그녀)는 XHTML이 아니라 HTML을 말했습니다. ;)으로 < 입력 > 요소에 대해

+0

동의합니다. 하나의 스크립팅 도구를 사용하여 데이터를 웹 사이트에 직접 POST 할 수 있으므로이 경우 maxlength 및 다른 브라우저 측 유효성 검사는 실수로 – cruizer

+0

이 아니며 방화 광을 사용하여 maxlength 속성을 제거하십시오. – Zach

1

는 최대 길이 속성이있다 :

<input type="text" id="Textbox" name="Textbox" maxlength="10" /> 

(그런데 것은, 유형, 그러나, 당신이 "텍스트"가 아닌 "텍스트 상자"다른 사람이 작성하는대로)입니다 < 텍스트 영역 >와 자바 스크립트를 사용합니다. 어쨌든 서버에서 길이를 점검해야합니다.

순수한 HTML 일 :

<input type="text" id="Textbox" name="Textbox" maxlength="10" /> 

자바 스크립트 하나 (A onKey 이벤트에 첨부) :

0

당신은

jQuery(document).ready(function($){ //fire on DOM ready 
setformfieldsize(jQuery('#comment'), 50, 'charsremain') 
})