ไม่แน่ใจว่าคุณได้รับตำนานมาจากที่ใด:
ส่งปุ่มด้วย <button>
เช่นเดียวกับ:
<button type="submit">(html content)</button>
IE6 จะส่งข้อความทั้งหมดสำหรับปุ่มนี้ระหว่างแท็กเบราว์เซอร์อื่นจะส่งเฉพาะค่า การใช้<button>
ให้อิสระในการจัดวางมากกว่าการออกแบบปุ่ม ในทุกเจตนารมณ์และวัตถุประสงค์มันดูยอดเยี่ยมในตอนแรก แต่นิสัยใจคอของเบราว์เซอร์ที่หลากหลายทำให้ยากต่อการใช้งาน
ในตัวอย่างของคุณ IE6 จะส่งtext
ไปยังเซิร์ฟเวอร์ในขณะที่เบราว์เซอร์อื่น ๆ ส่วนใหญ่จะไม่ส่งอะไรเลย <button type="submit" value="text">text</button>
ที่จะทำให้มันข้ามเบราว์เซอร์ที่รองรับการใช้งาน ยังดีกว่า: อย่าใช้ค่าเพราะถ้าคุณเพิ่ม HTML มันจะค่อนข้างยุ่งยากสิ่งที่ได้รับทางฝั่งเซิร์ฟเวอร์ หากคุณต้องส่งค่าพิเศษให้ใช้ฟิลด์ที่ซ่อนอยู่แทน
ปุ่มด้วย <input>
เช่นเดียวกับ:
<input type="button" />
โดยค่าเริ่มต้นสิ่งนี้จะทำอะไรต่อไป แม้จะไม่ส่งแบบฟอร์มของคุณ คุณสามารถวางข้อความบนปุ่มและกำหนดขนาดและเส้นขอบโดยใช้ CSS ความตั้งใจดั้งเดิม (และปัจจุบัน) คือการเรียกใช้สคริปต์โดยไม่จำเป็นต้องส่งแบบฟอร์มไปยังเซิร์ฟเวอร์
ปุ่มส่งปกติด้วย <input>
เช่นเดียวกับ:
<input type="submit" />
เหมือนในอดีต แต่จริง ๆ แล้วส่งแบบฟอร์มโดยรอบ
ปุ่มส่งรูปภาพพร้อม <input>
เช่นเดียวกับ:
<input type="image" />
เช่นเดิม (ส่ง) ก็จะส่งแบบฟอร์ม แต่คุณสามารถใช้ภาพใด ๆ สิ่งนี้เคยเป็นวิธีที่ต้องการใช้ภาพเป็นปุ่มเมื่อต้องการส่งแบบฟอร์ม สำหรับการควบคุมที่มากขึ้น<button>
ตอนนี้ใช้ สิ่งนี้สามารถใช้สำหรับการแมปอิมเมจฝั่งเซิร์ฟเวอร์แต่นั่นก็เป็นสิ่งที่หายากในปัจจุบัน เมื่อคุณใช้usemap
-attribute และ (มีหรือไม่มีแอตทริบิวต์นั้น) เบราว์เซอร์จะส่งพิกัด X / Y ตัวชี้เมาส์ไปที่เซิร์ฟเวอร์ (แม่นยำยิ่งขึ้นตำแหน่งของตัวชี้เมาส์ภายในปุ่มของช่วงเวลาที่คุณคลิก) หากคุณไม่สนใจสิ่งเหล่านี้มันไม่มีอะไรมากไปกว่าปุ่มส่งที่ปลอมตัวเป็นภาพ
มีความแตกต่างเล็กน้อยระหว่างเบราว์เซอร์ แต่ทั้งหมดจะส่งค่าแอตทริบิวต์ยกเว้น<button>
แท็กตามที่อธิบายไว้ข้างต้น
<input type="submit">
และ<button type="submit">
?