Sử dụng xác nhận HTML5 ...Cách liên kết với sự kiện gửi khi xác thực HTML5 được sử dụng?
Trong trình duyệt HTML5, xác nhận xảy ra trước sự kiện submit
. Vì vậy, nếu biểu mẫu không hợp lệ, sự kiện gửi sẽ không bao giờ xảy ra.
Tôi muốn treo một sự kiện vào biểu mẫu gửi, để kích hoạt xem biểu mẫu có hợp lệ hay không. Dưới đây là một ví dụ nhỏ, nơi tôi đang cố gắng để alert()
khi người dùng gửi biểu mẫu.
HTML:
<!DOCTYPE html>
<html>
<head><title>Example</title></head>
<body>
<form>
<input type="text" name="foo" required title="Foo field"/>
<input type="submit"/>
</form>
</body>
</html>
JavaScript:
$(function() {
$('form').submit(function() {
alert('submit!')
});
});
Interactive demo: http://jsfiddle.net/gCBbR/
Câu hỏi của tôi là: làm trình duyệt cung cấp một sự kiện thay thế mà tôi có thể liên kết với đó sẽ chạy trước xác nhận?
Thực ra điều này không hoàn toàn đúng.Sự kiện không hợp lệ được kích hoạt với xác nhận ràng buộc có lập trình (checkValidity) * và * xác thực biểu mẫu tương tác (các trys người dùng để gửi biểu mẫu có các đầu vào không hợp lệ). Ngoài ra còn có 2 khác biệt lớn khác, giá trị không hợp lệ được kích hoạt cho mỗi đầu vào không hợp lệ và chỉ gửi một lần + sự kiện không hợp lệ không bong bóng vào biểu mẫu (bạn có thể sử dụng capture ...). –
@alexanderfarkas, bạn hoàn toàn đúng. Tôi hiểu lầm các đặc điểm kỹ thuật. Đã chỉnh sửa câu trả lời của tôi. Sự kiện này kích hoạt trước khi gửi tại đây: http://jsbin.com/eluwir/3/edit – Mohsen