Tôi có một số xác thực JavaScript phía máy khách trên biểu mẫu. Nó hoạt động tuyệt vời. Nhưng tôi muốn thích ứng với những người dùng đã tắt JavaScript. Xác nhận của tôi không chạy từ thuộc tính onsubmit của biểu mẫu, nó là một trình xử lý sự kiện được gắn với một nút bình thường trong biểu mẫu. Vì vậy, các nút mà đá ra khỏi xác nhận và nộp không phải là thực sự là một gửi, nó chỉ cần gõ = "nút":Nhấn nút gửi sự kiện/nút Gửi chỉ khi javascript bị tắt
<input type="button" value="Ok" class="okbtn">
Sau đó, tôi đăng ký một event handler cho sự kiện click của nó mà không xác nhận của tôi. Nó gửi nếu mọi thứ đều trôi qua:
function clickHandler(event){
thisForm = event.data.caller
var valid = submitValidation(thisForm);
if (valid == true){
thisForm.submit();
} else{
}
}
Vấn đề của tôi là nếu người dùng đã tắt JS, không có cách nào để gửi biểu mẫu. Tôi có thể làm cho nút type="submit"
, hoạt động cho người dùng đã tắt JS, nhưng sau đó nó sẽ * luôn gửi biểu mẫu và bỏ qua xác thực cho người dùng đã bật JS. (Việc xác nhận sẽ chạy nhưng nó sẽ gửi anyway). Nếu tôi thực hiện nút type="submit"
tôi có thể chặn sự kiện gửi nếu được nhấp không? Tôi đang sử dụng JQuery, có thể JQuery ngăn chặn việc gửi? Tôi muốn xác thực của mình để xử lý cho dù nó được gửi đi.
ngọt ngào. Thay đổi một dòng :) – Purrell