CẬP NHẬT Từ @BrendanEich Mẫu onsubmit so với nút gửi onclick
@mplungjan onclick của trình chỉ rơi ra khỏi đó là một nút; form onsubmit rõ ràng là tốt hơn.
Đó sẽ là những lý do để bao giờ sử dụng onclick của một nút gửi để xác định có hay không phải là hình thức phải được nộp?
Tôi tin tưởng mạnh mẽ rằng
- để thực hiện một cái gì đó trước khi nộp và hủy nộp trong trường hợp lỗi, sự kiện onsubmit của hình thức là nơi rõ ràng để đặt nó
- Nếu bạn sử dụng onclick của một trình và sau đó quyết định sử dụng loại = "hình ảnh" trình xử lý sự kiện sẽ không thành công trong nhiều trình duyệt
- nếu bạn thay đổi nút gửi, bạn cũng sẽ phải thêm một trình xử lý sự kiện onclick.
Tôi đang tìm kiếm các lý do mạnh mẽ để thích sử dụng sự kiện onclick của nút gửi hơn trên biểu mẫu yêu cầu của biểu mẫu.
CẬP NHẬT: Xin lưu ý rằng tôi không biết rõ về nhiều vấn đề xung quanh việc gửi và xác thực biểu mẫu.
Ví dụ mà nộp bằng javascript sẽ không kích hoạt onsubmit http://jsfiddle.net/mplungjan/3A4Ha/
<form onsubmit="alert('onSubmit called')">
<input type="text" value="This will submit on enter but in IE the onclick is not triggered" style="width:100%"/><br/>
<input type="submit" onclick="alert('Clicked')" />
</form><br />
<a href="#" onclick="alert('Submitting by script'); return false">Submit by script will not trigger onsubmit</a>
Ngoài ra rằng IE sẽ không kích hoạt onclick nếu bạn nhấn enter trong mẫu tại fiddle tôi
Lịch sử:
Tham gia thảo luận tại đây
html button not clickable without being disabled
Tôi có một không thích mãnh liệt của việc sử dụng onclick của một nút gửi cho bất cứ điều gì do nhiều năm nhìn thấy điều này không làm việc trong một số trình duyệt, phiên bản chủ yếu là cũ của IE. Tôi đã liệt kê một vài lý do rõ ràng, nhưng tôi chắc chắn họ sẽ không thuyết phục được người dùng cứng.
Cộng đồng của SO có thể giúp tôi gắn móng tay này lên tường không, như họ đóng đinh w3schools? Cũng cảm thấy tự do để đưa ra nhận xét về cách tôi có thể cụm từ câu hỏi này một cách chấp nhận được.
1: kể từ những ngày của NS2.x và IE3.02
Trông giống như một cuộc thảo luận hơn là một câu hỏi ... nhìn ra ngoài !! Ồ, tôi đồng ý với việc sử dụng sự kiện gửi. :-) – RobG
Tôi đồng ý với việc sử dụng biểu mẫu đăng ký - điều này cũng bao gồm bạn để gửi qua khóa nhập thay vì nút gửi. – nnnnnn
Có thể trùng lặp: http://stackoverflow.com/questions/4529012/should-i-use-the-inputs-onclick-or-the-forms-onsubmit-event-to-validate-form-fi –