โซลูชัน HTML 5 ที่เรียบง่ายสุด ๆ :
<input type="search" placeholder="Search..." />
ที่มา: บทช่วยสอน HTML 5 - ประเภทอินพุต: ค้นหา
ซึ่งใช้งานได้ใน Chrome 8, Edge 14, IE 10 และ Safari 5 เป็นอย่างน้อยและไม่ต้องใช้ Bootstrap หรือไลบรารีอื่น ๆ (น่าเสียดายที่ดูเหมือนว่า Firefox จะยังไม่รองรับปุ่มล้างการค้นหา)
หลังจากพิมพ์ในช่องค้นหาแล้ว 'x' จะปรากฏขึ้นซึ่งสามารถคลิกเพื่อล้างข้อความได้ สิ่งนี้จะยังคงทำงานเป็นช่องแก้ไขปกติ (โดยไม่มีปุ่ม 'x') ในเบราว์เซอร์อื่นเช่น Firefox ดังนั้นผู้ใช้ Firefox สามารถเลือกข้อความและกด Delete แทนหรือ ...
หากคุณต้องการคุณสมบัติที่ดีที่จะมีที่รองรับใน Firefox จริงๆคุณสามารถใช้หนึ่งในโซลูชันอื่น ๆ ที่โพสต์ไว้ที่นี่เป็น polyfill สำหรับองค์ประกอบอินพุต [type = search] polyfill คือรหัสที่เพิ่มคุณสมบัติเบราว์เซอร์มาตรฐานโดยอัตโนมัติเมื่อเบราว์เซอร์ของผู้ใช้ไม่รองรับคุณสมบัตินี้ เมื่อเวลาผ่านไปความหวังก็คือคุณจะสามารถลบ polyfills ได้เนื่องจากเบราว์เซอร์ใช้คุณสมบัติต่างๆ และไม่ว่าในกรณีใดการติดตั้ง polyfill สามารถช่วยให้โค้ด HTML สะอาดขึ้นได้
อย่างไรก็ตามประเภทการป้อนข้อมูล HTML 5 อื่น ๆ (เช่น "วันที่" "หมายเลข" "อีเมล" ฯลฯ ) จะลดระดับลงอย่างสง่างามเป็นช่องแก้ไขธรรมดา เบราว์เซอร์บางตัวอาจให้ตัวเลือกวันที่ที่สวยงามตัวควบคุมสปินเนอร์ด้วยปุ่มขึ้น / ลงหรือ (บนโทรศัพท์มือถือ) แป้นพิมพ์พิเศษที่มีเครื่องหมาย "@" และปุ่ม ".com" แต่สำหรับความรู้ของฉันเบราว์เซอร์ทั้งหมด จะอย่างน้อยแสดงกล่องข้อความธรรมดาสำหรับประเภทป้อนข้อมูลใด ๆ ที่ไม่รู้จัก
โซลูชัน Bootstrap 3 และ HTML 5
Bootstrap 3 รีเซ็ต CSS จำนวนมากและแบ่งปุ่มยกเลิกการค้นหา HTML 5 หลังจากโหลด Bootstrap 3 CSS แล้วคุณสามารถกู้คืนปุ่มยกเลิกการค้นหาด้วย CSS ที่ใช้ในตัวอย่างต่อไปนี้:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<style>
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: searchfield-cancel-button;
}
</style>
<div class="form-inline">
<input type="search" placeholder="Search..." class="form-control" />
</div>
ที่มา: อินพุตการค้นหา HTML 5 ไม่ทำงานกับ Bootstrap
ฉันได้ทดสอบแล้วว่าโซลูชันนี้ใช้ได้กับ Chrome, Edge และ Internet Explorer เวอร์ชันล่าสุด ฉันไม่สามารถทดสอบใน Safari ได้ น่าเสียดายที่ปุ่ม 'x' เพื่อล้างการค้นหาไม่ปรากฏใน Firefox แต่ข้างต้นคุณสามารถใช้ polyfill สำหรับเบราว์เซอร์ที่ไม่รองรับคุณสมบัตินี้ได้ (เช่น Firefox)