Je cherchais des moyens de rendre l'écriture automatique requise de jQuery à l'aide de la validation html5 dans tous mes champs de saisie, mais je ne parviens pas à lui dire où l'écrire.
Je veux prendre ça
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150">
et l'ajouter automatiquement obligatoire avant la balise de fermeture
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150" required>
Je pensais pouvoir faire quelque chose comme
$("input").attr("required", "true");
Mais ça ne marche pas. Toute aide est grandement appréciée.
$("input").prop('required',true);
Vous pouvez le faire en utilisant attr, l’erreur que vous avez commise est de mettre les vraies citations intérieures. au lieu de cela essayez ceci:
$("input").attr("required", true);
J'ai constaté que les implémentations suivantes sont efficaces:
$('#freeform_first_name').removeAttr('required');
$('#freeform_first_name').attr('required', 'required');
Ces commandes (attr, removeAttr, prop) se comportent différemment selon la version de JQuery que vous utilisez. Veuillez faire référence à la documentation ici: https://api.jquery.com/attr/
Utilisation de la méthode .attr
.attr(attribute,value); // syntax
.attr("required", true);
// required="required"
.attr("required", false);
//
Utiliser .prop
.prop(property,value) // syntax
.prop("required", true);
// required=""
.prop("required", false);
//
Lire plus d'ici
Ne devrait pas inclure true avec guillemet double "" ce devrait être comme
$(document).ready(function() {
$('input').attr('required', true);
});
Aussi, vous pouvez utiliser prop
jQuery(document).ready(function() {
$('input').prop('required', true);
});
Au lieu de true vous pouvez essayer requis. Tel que
$('input').prop('required', 'required');
J'ai trouvé que jQuery 1.11.1 ne le fait pas de manière fiable.
J'ai utilisé $('#estimate').attr('required', true)
et $('#estimate').removeAttr('required')
.
Supprimer required
n'était pas fiable. Cela laisserait parfois l'attribut required
sans valeur. Puisque required
est un attribut booléen, sa simple présence, sans valeur, est considérée par le navigateur comme true
.
Ce bug était intermittent, et j'en ai eu marre de le jouer. Commuté sur document.getElementById("estimate").required = true
et document.getElementById("estimate").required = false
.