Angular.js soumettre le formulaire ancienne
Je suis de la migration d'une ancienne page html à partir de jQuery Angulaire, et il contient environ de la vieille école formes avec <input type="submit">
. Quand j'ai enrichi mes pages avec le ng-app
directive, les anciennes formes cessé de travailler (je veux dire quand vous appuyez sur la submit
boutons rien ne se passe).
J'ai cherché pour ce problème et numérisée à l'angle de docs trop, mais il semble que personne n'est la soumission de formulaires plus.
Des suggestions sur la façon de traduire les formes de la vie sans trop de frappes serait appréciée.
Actuellement le formulaire de balisage suivant:
<form name="form_upload" method="post" action="" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="send" value="Upload">
</form>
Tous jQuery code que j'ai purgé et de départ frais Angulaire.
UPD:
Je suppose que j'ai maintenant trouvé la cause, il est vide action
attribut, il semble vide d'action n'est pas bien accueilli par les normes de qualité, mais très pratique à utiliser vous permettant de soumettre le formulaire à l'URL actuelle de la page, est-il Angulaire de la façon de le faire ?
- Comment est-ce que vous utilisez pour soumettre vos formulaires? Pensez-vous utiliser jQuery pour le travail?
- Cela devrait fonctionner, à l'exception de l'action est vide. Regardez plnkr.co/modifier/clDeu8NVLCXLh2vojjxp?p=preview
- Oui, c'est vide d'action, merci pour l'astuce
- Donc, ça fonctionne maintenant ou étiez-vous de les soumettre avec jQuery?
- Veuillez vérifier la question de mise à jour, je suis actuellement à la recherche pour la façon correcte de le soumettre à la même page, parce que coder en dur les url en action atrribute n'est pas de l'option désirée.
- a cette même question, et en ajoutant d'action ont permis de résoudre. Les docs n'ont pas d'action dans la balise form: docs.angularjs.org/api/ng/directive/ngSubmit très étrange
Vous devez vous connecter pour publier un commentaire.
À aller hors de la documentation: http://docs.angularjs.org/api/ng.directive:form
Angulaire de la philosophie est de minimiser les données et recharge la page, de sorte qu'ils n'aiment pas la "vieille école formes", mais vous pouvez contourner ce problème en utilisant un
action
attribut dans la forme.Angulaire est conçu avec une seule page dans l'optique d'applications et d'éviter pleine page est actualisée comme qui va prendre plus de temps pour le faire. À l'aide de la
ngSubmit
directive, vous pouvez définir une fonction pour envoyer les données du formulaire au serveur et obtenir une réponse beaucoup plus rapide qu'un rechargement complet de la page. Octets au lieu de kilo-octets.action="#"
action
attribut de faire Angulaire de soumettre le formulaireaction
attribut avec emplacement actuel (à l'aide angulaire)Dans votre contrôleur:
Dans votre code HTML:
Voir le plunkr démo.
Ce que j'ai fait. Je suis sûr que j'ai été en utilisant jquery pour soumettre le formulaire, mais vous pouvez probablement le faire avec un bon vieux javascript.
L'un des commentaires sur la forme angulaire de la page suggère ceci:
http://docs.angularjs.org/api/ng.directive:form