ในรูปแบบของฉันฉันต้องการใช้รูปแบบ HTML5 ใหม่ตัวอย่างเช่น <input type="url" />
( ข้อมูลเพิ่มเติมเกี่ยวกับประเภทที่นี่ )
ปัญหาคือ Chrome ต้องการที่จะเป็นประโยชน์และตรวจสอบองค์ประกอบเหล่านี้ให้ฉันยกเว้นว่ามันแย่มาก หากไม่ผ่านการตรวจสอบความถูกต้องภายในจะไม่มีข้อความหรือตัวบ่งชี้อื่นใดนอกจากองค์ประกอบที่ได้รับโฟกัส ฉันใส่องค์ประกอบ URL ไว้ล่วงหน้าด้วย"http://"
ดังนั้นการตรวจสอบความถูกต้องที่กำหนดเองของฉันก็แค่ถือว่าค่าเหล่านั้นเป็นสตริงว่างเปล่า แต่ Chrome ก็ปฏิเสธสิ่งนั้น ถ้าฉันสามารถเปลี่ยนกฎการตรวจสอบของมันก็จะใช้ได้เช่นกัน
ฉันรู้ว่าฉันสามารถย้อนกลับไปใช้type="text"
แต่ฉันต้องการการปรับปรุงที่ดีโดยใช้ข้อเสนอประเภทใหม่เหล่านี้ (เช่น: มันจะเปลี่ยนเป็นรูปแบบแป้นพิมพ์แบบกำหนดเองบนอุปกรณ์มือถือโดยอัตโนมัติ):
ดังนั้นมีวิธีปิดหรือปรับแต่งการตรวจสอบอัตโนมัติหรือไม่
$('[inputmode]').each(function () { this.attr({type: this.attr('inputmode'), novalidate: true}) });
inputmode
ต้องการ ทำสิ่งที่ทางของคุณคุณยังคงไม่สามารถ (ตัวอย่าง) number
อ่านค่าที่ไม่ใช่ตัวเลขที่ผู้ใช้เป็นกล่องใส่ของประเภท ตัวอย่างเช่นลองพิมพ์สิ่งที่ไม่ใช่ตัวเลขลงในกล่องข้อความในซอนี้และคลิกที่ปุ่ม
<input type='number'>
ไม่ยอมรับค่าที่ไม่ใช่ตัวเลขเลยใช่ไหม
inputmode
คุณลักษณะซึ่ง - หากฉันเข้าใจสิ่งที่ฉันอ่านอย่างถูกต้องสามารถใช้เพื่อระบุประเภทของแป้นพิมพ์ที่ควรเสนอให้กับผู้ใช้เมื่อพวกเขาโต้ตอบกับเขตข้อมูลโดยไม่ต้องมีกฎการตรวจสอบใด ๆ ในบางจุดในอนาคตการใช้แอinputmode
ททริบิวแทนแอtype
ททริบิวต์น่าจะเป็นทางออกที่ถูกต้องสำหรับปัญหานี้ แต่ยังไม่มี