Ответ 1
$("input").prop('required',true);
Я искал способы автоматической записи 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");
Но это не сработает. Любая помощь приветствуется.
$("input").prop('required',true);
Вы можете сделать это, используя attr, ошибка, которую вы сделали, заключается в том, что вы помещаете истинные внутренние кавычки. вместо этого попробуйте следующее:
$("input").attr("required", true);
Я обнаружил, что эффективны следующие реализации:
$('#freeform_first_name').removeAttr('required');
$('#freeform_first_name').attr('required', 'required');
Эти команды (attr, removeAttr, prop) ведут себя по-разному в зависимости от версии JQuery, которую вы используете. Пожалуйста, обратитесь к документации здесь: https://api.jquery.com/attr/
Я обнаружил, что 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
.