Không có câu hỏi ngu ngốc như vậy, vậy ở đây chúng ta đi: Sự khác biệt giữa <input type='button' />
và <input type='submit' />
là gì?Sự khác biệt giữa <input type = 'button' /> và <input type = 'submit' />
Trả lời
<input type="button" />
nút sẽ không gửi biểu mẫu - chúng không làm bất kỳ điều gì theo mặc định. Chúng thường được sử dụng kết hợp với JavaScript như là một phần của ứng dụng AJAX.
<input type="submit">
nút sẽ gửi biểu mẫu mà họ đang sử dụng khi người dùng nhấp vào chúng, trừ khi bạn chỉ định bằng JavaScript khác.
Ngoài ra, trình duyệt có thể ghi "Enter" trên biểu mẫu và gửi biểu mẫu tự động nếu có nút gửi , nhưng không phải khác. –
Họ cũng làm điều đó nếu bạn có loại = "hình ảnh", có thể được sử dụng để kích hoạt gửi biểu mẫu khi được nhấp vào. – jishi
Ông Sáng bóng và Mới: Biểu mẫu có thể được gửi qua phím enter mà không cần bất kỳ nút nào. Nó là đủ để có tập trung vào một đầu vào văn bản, ví dụ. – Lasar
Nút 'chỉ là một nút, mà bạn có thể thêm chức năng bổ sung bằng Javascript. Loại đầu vào 'gửi' có chức năng mặc định của việc gửi biểu mẫu mà nó được đặt vào (mặc dù, tất nhiên, bạn vẫn có thể thêm chức năng bổ sung bằng cách sử dụng Javascript).
Nút sẽ không tự gửi biểu mẫu.Đó là nút đơn giản được sử dụng để thực hiện một số thao tác bằng cách sử dụng javascript trong khi Submit là một loại nút theo mặc định gửi biểu mẫu bất cứ khi nào người dùng nhấp vào nút gửi.
IE 8 thực sự sử dụng nút đầu tiên mà nó gặp phải khi gửi hoặc nút. Thay vì dễ dàng chỉ ra đó là mong muốn bằng cách làm cho nó một loại đầu vào = trình đơn đặt hàng trên trang thực sự là đáng kể.
<input type="button">
có thể được sử dụng ở mọi nơi, không chỉ trong biểu mẫu và chúng không gửi biểu mẫu nếu chúng ở trong một. Phù hợp hơn nhiều với Javascript
.
<input type="submit">
chỉ nên được sử dụng trong biểu mẫu và chúng sẽ gửi yêu cầu (GET hoặc POST) tới URL được chỉ định. Họ nên không phải được đặt ở bất kỳ vị trí HTML nào.
W3C làm cho nó rõ ràng, trên đặc tả về yếu tố Nút
nút có thể được xem như là một lớp chung cho tất cả các loại Buttons không có hành vi mặc định.
Cũng cần phải nói rằng một tên đầu vào của type = "submit" sẽ được cũng nộp cùng với các lĩnh vực tên các hình thức khác trong khi một input type = "button" tên sẽ không.
Với Nói cách khác, trong ví dụ dưới đây, tên đầu vào name=button1
SẼ KHÔNG được đệ trình trong khi đầu vào tên name=submit1
SẼ được đệ trình.
dạng HTML mẫu (index.html):
<form action="checkout.php" method="POST">
<!-- this won't get submitted despite being named -->
<input type="button" name="button1" value="a button">
<!-- this one does; so the input's TYPE is important! -->
<input type="submit" name="submit1" value="a submit button">
</form>
Các kịch bản PHP (checkout.php) mà xử lý hành động theo hình thức nêu trên của:
<?php var_dump($_POST); ?>
thử nghiệm trên trên máy tính cục bộ của bạn bằng cách tạo hai tệp trong thư mục có tên/tmp/test/sau đó chạy máy chủ web PHP được tích hợp từ shell:
php -S localhost:3000 -t /tmp/test/
Mở trình duyệt của bạn tại http://localhost:3000 và tự mình xem.
Người ta sẽ tự hỏi tại sao chúng ta cần phải gửi một nút được đặt tên? Nó phụ thuộc vào kịch bản back-end. Ví dụ: plugin WooCommerce WordPress sẽ không xử lý trang Checkout được đăng trừ khi nút được đặt tên là Place Order
. Nếu bạn thay đổi loại hình này từ , hãy gửi đến nút thì nút này sẽ không được gửi và do đó biểu mẫu Checkout sẽ không bao giờ được xử lý.
Đây có thể là một chi tiết nhỏ nhưng bạn biết đấy, ma quỷ ở trong chi tiết.
Điều này có phù hợp với thông số kỹ thuật hay phụ thuộc vào trình duyệt không? –
type='Submit'
được đặt để chuyển tiếp & nhận các giá trị trên BACK-END (PHP, .NET, v.v.). type='button'
sẽ phản ánh hành vi nút bình thường.
- 1. mô hình hộp không nhất quán giữa <input type = "submit" /> và <input type = "text" />
- 2. Sử dụng <button type = "submit"> để thay thế <input type = "submit"> để gửi biểu mẫu, sự cố? Các thẻ
- 3. Sự khác biệt giữa việc xử lý $ ("biểu mẫu") .hộp hoặc sự kiện nhấp <input type = "submit">?
- 4. Làm cách nào để thêm đệm vào <input type = "button">?
- 5. <input type = "submit"> lỗi đệm trên Safari di động?
- 6. Mục đích ban đầu của <input type = "hidden">?
- 7. Tôi làm cách nào để tạo hình ảnh <input type = "submit" />?
- 8. Cách làm cho <span> cùng chiều cao với <input type = "text">
- 9. Tôi có nên sử dụng HTML <button> hoặc <input> không?
- 10. Đưa giá trị mặc định trong <input type = file ....>
- 11. HTML <input type = 'file'> Lựa chọn tập tin Event
- 12. cmake -D <var>: <type> = <value>: Điều gì có thể <type>?
- 13. <input type = "search"> không hoạt động trên iPhone Mobile Safari
- 14. iOS 7 điện thoại di động Safari không còn hỗ trợ <input type = "datetime" />
- 15. Cách mở bàn phím số trên android/chrome bằng <input type = "text">?
- 16. Django <input> bên trong <label>
- 17. Đặt chiều rộng <input type = "file"> thống nhất trong tất cả các trình duyệt
- 18. Bạn có thể sử dụng <input type = "tel" /> ngay bây giờ không?
- 19. nút vs input type = "submit" vs a onclick = "document.formname.submit()"
- 20. Sử dụng "<input type =" file ".... />" thay vì asp: FileUpload
- 21. kiểm soát thư mục hoạt động cho <input type = "file">?
- 22. Cách tạo kiểu <input type = "text"> trong CSS IE6?
- 23. <input type = "text"> helper (mờ dần văn bản khi người dùng gõ) javascript
- 24. Không thể nhập <input> thẻ
- 25. tại sao <input type = "number" maxlength = "3"> không hoạt động trong Safari?
- 26. Đặt giá trị theo đơn vị tiền tệ trong <input type = "number" />
- 27. Mở Fancybox (hoặc equiv) từ Form input type = "submit"
- 28. Css pseudo classes input: not (disabled) không: [type = "submit"]: focus
- 29. IList <Type> để IList <BaseType>
- 30. HTML5 Input Type Email
Xem thêm ** [loại đầu vào = “gửi” Thẻ nút Vs có thể hoán đổi cho nhau không?] (Http://stackoverflow.com/questions/7117639/input-type-submit-vs-button-tag-are-they - có thể thay đổi) ** – hippietrail
Tôi đã có cùng một câu hỏi và điều này chắc chắn không phải là một câu hỏi ngu ngốc, đặc biệt nếu bạn là một nhà phát triển web asp.net trong suốt cuộc đời của bạn, nơi chúng tôi không sử dụng html thường xuyên vì asp ngu ngốc. net điều khiển nhổ này shit ra cho chúng tôi ... đó là lý do tại sao chúng tôi cuối cùng bị câm khi di chuyển đến MVC và phải quay trở lại mẫu giáo để tìm ra cách để mã các yếu tố hình thức đơn giản một lần nữa. :) – PositiveGuy
Phần tử HTML