$(“...”)[0].la réinitialisation n'est pas une fonction... de la réinitialisation de formes en jQuery
Je suis en train de remettre des formulaires avec jQuery mais je vais avoir quelques difficultés. Outre les solutions qui impliquent l'écriture de fonctions personnalisées ou plugins, je continue de trouver le temps et maintes fois que la méthode de réinitialisation n'est pas un standard dans le cadre de jQuery, mais c'est une partie de Javascript standard.
De toute façon, ma première démarche a été d'aller avec
$("#theForm").reset();
où la forme id="theForm".
Cela ne fonctionne pas, évidemment, parce qu'il suppose que reset() a été une partie de jQuery.
La prochaine chose que j'ai essayé était
document.getElementById(theForm).reset();
Qui ne fonctionne pas non plus. Je suis nouveau sur jQuery donc je ne sais pas si je peux mélanger normal Javascript avec jQuery. Je doit sonner comme un débile de dire ça.
De toute façon, Après une recherche j'ai trouvé le temps et encore que je puisse utiliser reset() en jQuery par faire ces...
$("#theForm")[0].reset();
ou
$("#theForm").get(0).reset();
Dans chaque article, qui implique ces deux extraits de tout le monde dans les commentaires avaient eu de travail.
Sauf moi.
La console d'erreur me dit que ce que j'ai écrit n'existe pas. J'ai vérifié tout mon code et il n'y a pas d'autre occurrence du mot "reset", donc il ne peut pas être ça non plus.
De toute façon, je suis perplexe.
OriginalL'auteur user2426162 | 2013-05-27
Vous devez vous connecter pour publier un commentaire.
Solution au problème d'origine dans ce fil
D'un formulaire HTML comme ceci:
Lors de l'utilisation de
document.getElementById("theForm").reset()
, si vous obtenez une erreur js disantla raison en est peut-être un élément qui a
reset
commename
ouid
. J'ai fait face à un même problème.Nommage de tout élément que
reset
remplace fonction reset ().<input type="button" value = "Clear Form" id = "reset" />
de la modifier à<input type="button" value = "Clear Form" id = "formReset" />
travaillé 🙂OriginalL'auteur Sanjeev
Ce:
fonctionne très bien. Regardez ici: http://jsfiddle.net/tZ99a/1/
Donc, il y a quelque chose de mal avec la forme, ou avec la façon dont vous mettez le script du bouton.
<input type="text" id="theForm">
Sera le fait que ce et les autres formes sont le tout sous un seul <form> tag affecter la réinitialisation?Euh? L'id de passe dans le formulaire, pas de l'entrée. Je pense que vous mélangez la "forme" et "entrée" concepts.
J'ai plusieurs entrées sous une seule forme de tag. Mais pour une raison que si je les fais, toutes différentes balises de formulaire, puis il travaille de manière très étrange.
Qui n'a rien à faire avec elle. Voir mise à jour de Violon. Par ailleurs, pourquoi ne pas vous poste le code ici, nous pouvons voir qu'il échoue? Jusqu'à présent, nous sommes deviner.
Merci! Qui a marché parfaitement.
OriginalL'auteur Diego Mijelshon
si
"theForm"
est un ID, devons-nous utiliser$('#theForm')[0]
?Je pense que c'est une mauvaise habitude.
Si il y a plus de formes dans une page HTML, utilisez des noms. Et si vous utilisez des ID, il doit être unique.
Il serait grand si vous pouvez fournir votre code HTML ici 🙂
OriginalL'auteur smilyface
Donc... je pense qu'il y a quelques choses qui se passent ici.
$('#theForm')[0].reset();
fonctionne très bien.document.getElementById(theForm).reset();
ne fonctionnera pas parce que le javascript est d'aller à penser que vous êtes en utilisant une variable appelée "theForm" -- si c'était le cas, alors la valeur de la variable devrait être la chaîne de caractères représentant l'id de votre forme... quelque chose commevar theForm = 'theForm';
et qui peut être vraiment déroutant vraiment rapide. Je soupçonne que ce que vous vouliez essayer a:document.getElementById('theForm').reset();
-- qui fonctionne à merveille et est essentiellement la même chose que le code de n ° 1.<form id="theForm"> ... </form>
-- l'id "theForm" doit être sur la balise de formulaire, pas sur une balise input dans le formulaire.J'ai créé un violon qui montre ces choses de travail: http://jsfiddle.net/boliver/ZDQxE/
OriginalL'auteur Brian Oliver
Veuillez vérifier que vous n'avez pas un élément de formulaire nommé "reset". Si oui, le renommer et .reset() la méthode de travail. Autrement document.getElementById("formId").la fonction de réinitialisation sélectionnez l'élément de formulaire avec le nom "reset", c'est pourquoi la méthode reset() ne peut pas être travail. Yo obtiendrez un message d'erreur comme "objet n'est pas une fonction".
OriginalL'auteur v.babak
Le problème est plus probable que la forme du bouton de réinitialisation id est réglé sur "reset", donc le message d'erreur.
J'ai eu le même problème et puis enfin compris et a changé ma formule:
Changer le bouton de réinitialisation id a fait le tour pour moi.
OriginalL'auteur user4426017