คุณกำหนดขีด จำกัด อักขระในการป้อนข้อความใน HTML ได้อย่างไร
คุณกำหนดขีด จำกัด อักขระในการป้อนข้อความใน HTML ได้อย่างไร
คำตอบ:
มี 2 วิธีแก้ปัญหาหลัก:
HTML ที่แท้จริง:
<input type="text" id="Textbox" name="Textbox" maxlength="10" />
JavaScript one (แนบกับเหตุการณ์ onKey):
function limitText(limitField, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
}
}
แต่อย่างไรก็ตามไม่มีทางออกที่ดี คุณไม่สามารถปรับตัวให้เข้ากับการใช้ HTML ที่ไม่ดีของลูกค้าทุกรายมันเป็นการต่อสู้ที่เป็นไปไม่ได้ที่จะชนะ นั่นเป็นเหตุผลว่าทำไมจึงควรตรวจสอบที่ฝั่งเซิร์ฟเวอร์ด้วย PHP / Python / สคริปต์ใด ๆ
มีแอตทริบิวต์ความยาวสูงสุด
<input type="text" name="textboxname" maxlength="100" />
นอกเหนือจากที่กล่าวมาข้างต้นฉันอยากจะชี้ให้เห็นว่าการตรวจสอบความถูกต้องฝั่งไคลเอ็นต์ (โค้ด HTML, จาวาสคริปต์ ฯลฯ ) นั้นไม่เพียงพอ ตรวจสอบความยาวฝั่งเซิร์ฟเวอร์ด้วยหรืออย่าเพิ่งตรวจสอบเลย (ถ้ามันไม่สำคัญถึงขนาดที่ผู้คนจะได้รับอนุญาตให้ไปไหนมาไหนก็ไม่สำคัญพอที่จะรับประกันขั้นตอนใด ๆ เพื่อป้องกันสิ่งนั้นด้วยเช่นกัน)
นอกจากนี้เพื่อนร่วมงานเขา (หรือเธอ) กล่าวว่า HTML ไม่ใช่ XHTML ;)
ใช้แอตทริบิวต์ "maxlength" ตามที่คนอื่นพูด
หากคุณต้องการใส่ความยาวอักขระสูงสุดในพื้นที่ข้อความคุณต้องเปลี่ยนเป็น Javascript ดูที่นี่: วิธีกำหนดความยาวสูงสุดให้กับ textArea ใน HTML โดยใช้ JavaScript
สำหรับองค์ประกอบ <input> มีแอตทริบิวต์ maxlength:
<input type="text" id="Textbox" name="Textbox" maxlength="10" />
(อย่างไรก็ตามประเภทคือ "text" ไม่ใช่ "textbox" อย่างที่คนอื่นเขียน) อย่างไรก็ตามคุณต้องใช้ javascript กับ <textarea> s ไม่ว่าจะด้วยวิธีใดก็ควรตรวจสอบความยาวบนเซิร์ฟเวอร์อยู่ดี
คุณสามารถตั้งค่าความยาวสูงสุดด้วย jquery ซึ่งเร็วมาก
jQuery(document).ready(function($){ //fire on DOM ready
setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})