JQuery add требуется для ввода полей

Я искал способы автоматической записи jQuery с использованием проверки html5 ко всем моим полям ввода, но мне трудно сообщить, где их написать.

Я хочу взять это

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

и автоматически добавьте требуемый перед закрывающим тегом

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

Я думал, что смогу сделать что-то по строкам

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

Но это не сработает. Любая помощь приветствуется.

Ответ 1

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

DEMO FIDDLE

Ответ 2

Вы можете сделать это, используя attr, ошибка, которую вы сделали, заключается в том, что вы помещаете истинные внутренние кавычки. вместо этого попробуйте следующее:

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

Ответ 3

Я обнаружил, что эффективны следующие реализации:

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

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

Эти команды (attr, removeAttr, prop) ведут себя по-разному в зависимости от версии JQuery, которую вы используете. Пожалуйста, обратитесь к документации здесь: https://api.jquery.com/attr/

Ответ 4

Я обнаружил, что jquery 1.11.1 не делает это надежно.

Я использовал $('#estimate').attr('required', true) и $('#estimate').removeAttr('required').

Удаление required не было надежным. Иногда он оставил атрибут required без значения. Поскольку required является булевым атрибутом, его простое присутствие без значения видно браузером как true.

Эта ошибка была прерывистой, и я устал возиться с ней. Переключено на document.getElementById("estimate").required = true и document.getElementById("estimate").required = false.