2013-10-03 31 views
86

Tôi đã tìm kiếm các cách để jQuery tự động viết bắt buộc bằng cách sử dụng xác thực html5 cho tất cả các trường nhập của tôi nhưng tôi gặp khó khăn khi nói nó viết ở đâu.jQuery thêm yêu cầu vào các trường nhập

Tôi muốn thực hiện việc này

<input type="text" name="first_name" value="" id="freeform_first_name" 
maxlength="150"> 

và có nó tự động thêm cần trước thẻ đóng

<input type="text" name="first_name" value="" id="freeform_first_name" 
maxlength="150" required> 

Tôi nghĩ tôi có thể làm someting dọc theo dòng của

$("input").attr("required", "true"); 

Nhưng nó không hoạt động. Bất kỳ trợ giúp nào cũng được đánh giá rất cao.

+1

Nó không được bao bọc trong dom đã sẵn sàng chưa? '$ (function() {....});' – PSL

+0

Tôi đang sử dụng http://jsfiddle.net/japaneselanguagefriend/LEZ4r/ –

+0

nếu 'đầu vào' này là một id jquery thiếu số # trong công cụ chọn tại đây . –

Trả lời

229
$("input").prop('required',true); 

DEMO FIDDLE

+1

Hmm, đã thêm nút gửi nhưng vẫn không xác thực hoặc thêm thuộc tính bắt buộc vào các trường nhập. http://jsfiddle.net/japaneselanguagefriend/LEZ4r/ –

+1

@AoiHana Làm việc tốt. http://jsfiddle.net/LEZ4r/1/ – Unknown

+0

nếu 'đầu vào' là một id jquery là thiếu # trong bộ chọn ở đây. –

33

Bạn có thể làm điều đó bằng cách sử dụng attr, những sai lầm mà bạn đã thực hiện là bạn đặt đúng bên trong dấu ngoặc kép. thay vì thử điều này:

$("input").attr("required", true); 
+0

nếu 'đầu vào' là một id jquery là thiếu # trong bộ chọn ở đây. –

+2

@JohnMeyer "đầu vào" là tên của bộ chọn thẻ – dave4jr

1

Tôi thấy rằng jquery 1.11.1 không thực hiện điều này một cách đáng tin cậy.

Tôi đã sử dụng $('#estimate').attr('required', true)$('#estimate').removeAttr('required').

Xóa required không đáng tin cậy. Đôi khi nó sẽ để lại thuộc tính required không có giá trị. Vì required là một giá trị boolean, sự hiện diện đơn thuần của nó, không có giá trị, được trình duyệt nhìn thấy là true.

Lỗi này liên tục xảy ra và tôi cảm thấy mệt mỏi vì rối tung với nó. Đã chuyển sang document.getElementById("estimate").required = truedocument.getElementById("estimate").required = false.

+0

'removeAttr' không hoạt động với tôi. Sau đó, tôi sử dụng giải pháp của bạn và hoạt động tốt. Cảm ơn! –

17

Tôi đã phát hiện ra rằng việc triển khai sau đây là hiệu quả:

$('#freeform_first_name').removeAttr('required'); 

$('#freeform_first_name').attr('required', 'required'); 

Những lệnh (attr, removeAttr, prop) cư xử khác nhau tùy thuộc vào phiên bản của JQuery bạn đang sử dụng. Vui lòng tham khảo tài liệu tại đây: https://api.jquery.com/attr/

Các vấn đề liên quan