La soumission d'un formulaire dans le Météore sans l'aide d'extras
Je voudrais avoir un formulaire dans mon Météore modèle html et sur soumettre insérer les données de mon MongoDB liste. Mes questions sont les suivantes:
- Est-ce possible sans l'aide de paquets supplémentaires? Je me permets d'ajouter un formulaire HTML en tant que modèle?
- Ne l'événement submit travail pour les dernières Météore?
- J'ai lu que l'on peut utiliser l'événement click du bouton de soumission: Pourriez-vous me dire comment je pourrais aller pour trouver dans mon DOM les valeurs de ma éléments d'entrée? (sans utiliser jQuery?)
OriginalL'auteur George Katsanos | 2013-03-04
Vous devez vous connecter pour publier un commentaire.
JQuery est inclus dans le météore & très simplification, pourquoi voulez-vous l'éviter? Il est assez long pour traverser le dom manuellement avec js
Vous pouvez utiliser javascript pour soumettre vos formulaires ajax style:
De sorte que vous pouvez simplement utiliser la forme normale de html dans votre modèle comme d'habitude:
Vous pouvez lier le bouton select pour insérer les données lorsque l'utilisateur clique dessus:
Carte des événements de liaison:
Si vous HAINE jQuery & ne pouvez pas l'utiliser à tous les
Je ne serais pas vraiment dire meteor est un framework javascript comme ça, ce n'est pas construite pour remplacer l'JQuery plutôt à l'utilisation de tout mettre en place, il est toujours météore de mettre les données dans réactive avec la compensation de latence & jquery traversant les DOM. Ses inséré instantanément jquery qui ne serait pas le faire sur son propre. Meteor n'ont pas de DOM traversant choses, le guidon, le système de template, est également un cadre externe
Si le modèle arrive à avoir une seule forme, vous pouvez juste avoir un
submit
gestionnaire plutôt queclick #submit
. Aussi, vous pouvez faire$('#myform')[0].reset()
plutôt que de réinitialiser manuellement tous les éléments de formulaire.Merci @DavidWeldon. J'ai modifié le code pour tenir compte de cela.
J'ai aussi modifié le code il est donc purement javascript version trop. Pas de jquery.
OriginalL'auteur Akshat
Juste pour la référence, il est un peu le moyen le plus propre à faire des formes dans le Météore sans l'ensemble de ces jQuery références, que je trouve à être malpropre. Il rend le code beaucoup moins d'erreurs par la portée du modèle, qui est fourni dans le gestionnaire d'événements. Voici un exemple d'utilisation de la forme décrite dans l'autre réponse:
Code de modèle:
Gestionnaire d'événement:
aussi, à l'aide de la Découvrir Meteor livre, ils utilisent $e.cible).find('[nom=prénom]').val() ; pouvez-vous nous expliquer la différence entre l'utilisation) $(e.cible) vs B) modèle ?
J'ai pensé à elle. Il y a juste les différents sélecteurs.
J'ai pensé à elle. Il existe différents sélecteurs. $e.cible).find(' ... ' ) utilise le .la valeur de la propriété, tandis que le modèle utilise le val() la méthode. Êtes-vous d'accord? (Je suis assez nouveau et d'essayer de faire bien sûr, je reçois la terminologie correcte). Notez que $(cible) ne fonctionne pas non plus.
c'est juste la différence entre le brut javascript sélecteur et de la fonctionnalité supplémentaire que jQuery fournit. Assurez-vous de distinguer entre ce que vous utilisez.
OriginalL'auteur Andrew Mao
La plus simple et la solution la plus simple de toutes.
event.preventDefault()
. À partir de la docs: "le Retour de faux à partir d'un gestionnaire est la même que l'appel à la fois stopImmediatePropagation et preventDefault sur l'événement."OriginalL'auteur avishek gurung
Voulais partager ma façon c'est très simple:
html:
JS
Résultats dans agréable et propre
Object {name: "...", email: "..."}
Et si vous êtes en utilisant
SimpleSchema
necheck(doc, Schemas.updateProfile);
sur d'autre serveur pour validation.OriginalL'auteur Mark Uretsky