ฉันสามารถแทนที่แอตทริบิวต์ maxlength ด้วยบางสิ่งใน CSS ได้หรือไม่
<input type='text' id="phone_extension" maxlength="4" />
ฉันสามารถแทนที่แอตทริบิวต์ maxlength ด้วยบางสิ่งใน CSS ได้หรือไม่
<input type='text' id="phone_extension" maxlength="4" />
คำตอบ:
ไม่จำเป็นต้องทำใน HTML คุณสามารถตั้งค่าด้วย Javascript ได้หากต้องการ
ไม่
ความยาวสูงสุดมีไว้สำหรับพฤติกรรม
CSS มีไว้สำหรับจัดแต่งทรงผม
นั่นคือเหตุผล
คุณสามารถใช้ jQuery เช่น:
$("input").attr("maxlength", 4)
นี่คือการสาธิต: http://jsfiddle.net/TmsXG/13/
ฉันไม่คิดว่าคุณจะทำได้และ CSS ควรจะอธิบายลักษณะของหน้าเว็บไม่ใช่สิ่งที่เป็นดังนั้นแม้ว่าคุณจะทำได้ แต่ก็ไม่ใช่วิธีที่คุณควรใช้
บางทีคุณควรคิดถึงการใช้ JQuery เพื่อใช้ฟังก์ชันทั่วไปกับส่วนประกอบฟอร์มของคุณหรือไม่?
ไม่ใช้ CSS ไม่
ไม่ใช่ด้วย CSS แต่คุณสามารถจำลองและขยาย / ปรับแต่งพฤติกรรมที่ต้องการได้ด้วย JavaScript
ตามที่คนอื่นตอบไม่มีวิธีปัจจุบันในการเพิ่มความยาวสูงสุดให้กับคลาส CSS โดยตรง
อย่างไรก็ตามโซลูชันที่สร้างสรรค์นี้สามารถบรรลุสิ่งที่คุณกำลังมองหาได้
ฉันมี jQuery ในไฟล์ชื่อ maxLengths.js ซึ่งฉันอ้างอิงในไซต์ (site.master สำหรับ ASP)
เรียกใช้ตัวอย่างข้อมูลเพื่อดูการทำงานใช้งานได้ดี
jquery, css, html:
$(function () {
$(".maxLenAddress1").keypress(function (event) {
if ($(this).val().length == 5) { /* obv 5 is too small for an address field, just want to use as an example though */
return false;
} else {
return true;
}
});
});
.maxLenAddress1{} /* this is here mostly for intellisense usage, but can be altered if you like */
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" class="maxLenAddress1" />
ข้อดีของการใช้สิ่งนี้: หากมีการกำหนดความยาวสูงสุดสำหรับฟิลด์ประเภทนี้จะต้องถูกผลักออกหรือในแอปพลิเคชันทั้งหมดของคุณคุณสามารถเปลี่ยนได้ในจุดเดียว มีประโยชน์สำหรับความยาวฟิลด์สำหรับสิ่งต่างๆเช่นรหัสลูกค้าฟิลด์ชื่อเต็มฟิลด์อีเมลฟิลด์ใด ๆ ที่ใช้กันทั่วไปในแอปพลิเคชันของคุณ
ใช้$("input").attr("maxlength", 4)
หากคุณใช้ jQuery เวอร์ชัน <1.6 และ$("input").prop("maxLength", 4)
หากคุณใช้ jQuery เวอร์ชัน 1.6 ขึ้นไป