2008-09-22 18 views
89

में कैरेक्टर सीमा एचटीएमएल में टेक्स्ट इनपुट पर कैरेक्टर सीमा कैसे लगाती है?एचटीएमएल

उत्तर

127

2 मुख्य समाधान कर रहे हैं

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

लेकिन वैसे भी, वहाँ है कोई अच्छा समाधान नहीं। आप प्रत्येक ग्राहक के खराब HTML कार्यान्वयन के अनुकूल नहीं हो सकते हैं, यह जीतने के लिए एक असंभव लड़ाई है। यही कारण है कि इसे PHP पक्ष/पायथन/जो भी स्क्रिप्ट के साथ सर्वर पक्ष पर जांचना बेहतर होता है।

+25

अंतिम सैनिटी चेक के रूप में सर्वर पर जांचें, लेकिन यदि आप ऐसा कर सकते हैं तो क्लाइंट-साइड एन्हांसमेंट जोड़ें; यह एक अमीर उपयोगकर्ता अनुभव के लिए बनाता है। – Rob

+1

निश्चित रूप से, अधिक काम, लेकिन निश्चित रूप से जाने का सबसे अच्छा तरीका है। –

41

वहाँ एक maxlength है विशेषता

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

यह सच है है निर्धारित कर सकते हैं, लेकिन कुछ ग्राहकों को इस जांच नहीं करते। यह मोबाइल फोन आधारित ग्राहकों के लिए especcially सच है। – Drejc

+0

उन्हें हटाने के तरीके भी हैं। उदाहरण के लिए फ़ायरफ़ॉक्स वेब डेवलपर एक्सटेंशन में अधिकतम लंबाई फ़ंक्शन निकालें। –

+0

क्रोम और इसकी डेवलपर किट (जो ब्राउज़र के साथ आता है) के साथ एचटीएमएल – AntonioCS

5

"maxlength" विशेषता का उपयोग के रूप में अन्य लोगों ने कहा।

यदि आपको टेक्स्ट एरिया पर अधिकतम वर्ण लंबाई डालने की आवश्यकता है, तो आपको जावास्क्रिप्ट पर जाना होगा। यहां एक नज़र डालें: How to impose maxlength on textArea in HTML using JavaScript

+0

में ऐसी चीजों को निकालना आसान है लिंक लिंक काम नहीं कर रहा है ... – TlonXP

+0

इस लिंक को स्टैक ओवरव्लो में देखें: http://stackoverflow.com/questions/1125482/कैसे-से-लागू-अधिकतम-लम्बाई-इन-एचटीएमएल-उपयोग-जावास्क्रिप्ट – TlonXP

11

उपरोक्त के अतिरिक्त, मैं यह इंगित करना चाहता हूं कि क्लाइंट-साइड सत्यापन (HTML कोड, जावास्क्रिप्ट, आदि) कभी भी पर्याप्त नहीं है। लम्बाई सर्वर-साइड भी जांचें, या बस बिल्कुल जांच न करें (यदि यह इतना महत्वपूर्ण नहीं है कि लोगों को इसके आसपास जाने की अनुमति दी जा सके, तो यह रोकने के लिए किसी भी कदम को वास्तव में वारंट करने के लिए पर्याप्त नहीं है)।

इसके अलावा, साथी, उसने (या उसने) HTML कहा, एक्सएचटीएमएल नहीं। ;)

+0

मैं सहमत हूं। कोई भी कुछ स्क्रिप्टिंग टूल का उपयोग कर सीधे वेब साइट पर डेटा पोस्ट कर सकता है, इसलिए उस मामले में अधिकतम लम्बाई और अन्य ब्राउज़र-पक्ष सत्यापन मूर्खतापूर्ण नहीं हैं – cruizer

+0

या फ़ायरबग का उपयोग करें और अधिकतम लम्बाई विशेषता को हटा दें। – Zach

1

< इनपुट > तत्व के लिए वहाँ maxlength विशेषता है:

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

(वैसे, प्रकार, "पाठ", नहीं "पाठ बॉक्स" के रूप में दूसरों लिख रहे हैं) है, तथापि, तुम हो <textarea> एस के साथ जावास्क्रिप्ट का उपयोग करने के लिए। किसी भी तरह से सर्वर पर लंबाई की जांच की जानी चाहिए।

शुद्ध एचटीएमएल एक:

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

जावास्क्रिप्ट एक (एक onKey घटना में अटैच कर):

0

आप jQuery के साथ maxlength जो बहुत तेजी से

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