Giải pháp phải khá đơn giản. Tôi đang cố gắng ngăn chặn biểu mẫu gửi đúng cách khi không tìm thấy giá trị nào trong các hộp nhập liệu. Dưới đây là JSFiddle tôi: http://jsfiddle.net/nArYa/7/Sử dụng jQuery để ngăn chặn việc gửi biểu mẫu khi các trường nhập trống
// Markup
<form action="" method="post" name="form" id="form">
<input type="text" placeholder="Your email*" name="email" id="email">
<input type="text" placeholder="Your name*" autocomplete=off name="name" id="user_name"
<button type="submit" id="signup" value="Sign me up!">Sign Up</button>
</form>
// jQuery
if ($.trim($("#email, #user_name").val()) === "") {
$('#form').submit(function(e) {
e.preventDefault();
alert('you did not fill out one of the fields');
})
}
Như bạn có thể nhìn thấy trong JSFiddle, vấn đề là khi tôi gõ cái gì đó vào cả hai lĩnh vực, các hộp cảnh báo STILL bật lên. Tôi đang gặp khó khăn trong việc tìm ra lý do. Có điều gì sai trong số của tôi nếu ($. Trim ($ "# email, #user_name"). Val()) === "")?
Có bạn nên kiểm tra mỗi người riêng lẻ, nếu bạn chỉ sử dụng một bộ chọn, chỉ có một giá trị sẽ được trả lại –
Từ các tài liệu: Lấy giá trị hiện tại của ** đầu tiên ** phần tử trong tập các phần tử phù hợp – Barmar
Bạn cần đính kèm một hàm javascript vào nút gửi của bạn. Trường hợp hàm trả về false nếu các trường không hợp lệ. – chadiusvt