J'ai cherché des moyens pour que jQuery écrive automatiquement en utilisant la validation html5 dans tous mes champs de saisie mais j'ai du mal à lui dire où l'écrire.
Je veux prendre ça
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150">
et faites - le ajouter automatiquement requis avant la balise de fermeture
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150" required>
Je pensais que je pourrais faire quelque chose du genre
$("input").attr("required", "true");
Mais ça ne marche pas. Toute aide est grandement appréciée.
javascript
jquery
validation
Miura-shi
la source
la source
$(function(){....});
Réponses:
DEMO FIDDLE
la source
TypeError: element.prop is not a function
erreur<form></form>
balises dans votre jsFiddle.prop('required',true)
sur l'entrée avant de l' appeler.css("display", "block")
.Vous pouvez le faire en utilisant attr, l'erreur que vous avez faite est que vous mettez les vrais guillemets. au lieu de cela, essayez ceci:
la source
required
est un attribut booléen et ne doit jamais être omis (pour "false"), ou avoir la même valeur que son nom (c'est-à-dire"required"
) pour "true". Il est en fait préférable d'utiliser.prop()
.prop()
cela ne fonctionne pas là-dessus comme sur les navigateurs modernes. Il est toujours préférable d'utiliser$(ele).attr("required", true)
etfalse
de supprimer.J'ai trouvé que les implémentations suivantes sont efficaces:
Ces commandes (attr, removeAttr, prop) se comportent différemment selon la version de JQuery que vous utilisez. Veuillez consulter la documentation ici: https://api.jquery.com/attr/
la source
Utilisation de la
.attr
méthodeEn utilisant
.prop
En savoir plus d'ici
la source
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')
.La suppression
required
n'était pas fiable. Cela laissait parfois l'required
attribut sans valeur. Puisqu'ilrequired
s'agit d'un attribut booléen, sa simple présence, sans valeur, est considérée par le navigateur commetrue
.Ce bug était intermittent et j'en avais marre de jouer avec. Passé à
document.getElementById("estimate").required = true
etdocument.getElementById("estimate").required = false
.la source
removeAttr
ne fonctionne pas pour moi. Ensuite, j'utilise votre solution et fonctionne très bien. Merci!Ne doit pas mettre vrai avec des guillemets doubles "", cela devrait ressembler à
Vous pouvez également utiliser des accessoires
Au lieu de vrai, vous pouvez essayer requis. Tel que
la source