Parfois, nous souhaitons interagir avec le serveur sur la même page, mais ne voulons pas passer à une autre page après avoir soumis le formulaire. Que devons-nous faire ? Voici plusieurs façons de soumettre des formulaires
Code. Comme suit :
<form action="/hehe" method="post"> <input type="text" value="hehe"/> <input type="submit" value="upload" id="upload"/> </form>
Il s'agit de la méthode de soumission de formulaire la plus courante et la plus simple en HTML, mais cette méthode doit changer de page. Peut-être que parfois nous voulons interagir avec le serveur sur la même page, je. Je ne veux pas passer à une autre page après avoir soumis le formulaire. Que dois-je faire ? Voici plusieurs façons de soumettre le formulaire.
Introduisez d'abord une solution pour sauver le pays à travers des courbes. Les extraits de code ci-dessus n'ont pas besoin d'être modifiés. Ajoutez simplement le code suivant
Le code est le suivant :
<iframe id="uploadFrame" name="uploadFrame"></iframe>
et ajoutez-le sous la forme attribut cible, target=uploadFrame, l'attribut cible doit être cohérent avec la valeur de l'identifiant dans l'iframe (ou la valeur de l'attribut name, vous le saurez après l'avoir essayé).
Une brève explication, en fait, notre formulaire ici est rafraîchi après soumission, mais pourquoi ne passe-t-il pas à la page C'est à cause de cette iframe. En fait, nous l'avons rafraîchi dans l'iframe, et le. iframe est vide, c'est-à-dire que cela revient à ne pas rafraîchir, ce qui nous donne un sentiment d'asynchrone. Ce n'est pas une méthode orthodoxe, mais c'est aussi un moyen de sauver le pays. Bien sûr, cette méthode n'est pas applicable dans de nombreux cas. Par exemple, nous voulons soumettre un formulaire complété. Après avoir récupéré quelque chose sur le serveur, cette méthode ne fonctionnera évidemment pas. Ici, nous devons également soumettre le tableau de manière véritablement asynchrone.
(2) soumission de formulaire asynchrone jquery
Nous introduisons ici ajaxupload, un plug-in de soumission de formulaire pour jquery L'utilisation est relativement simple
<body> <form action="/hehe" method="post"> <input type="text" value="hehe"/> <input type="button" value="upload" id="upload"/> <!--<input type="button" value="send" onclick="send()"/>--> </form> <script> (function(){ new AjaxUpload("#upload", { action: '/hehe', type:"post", data: {}, name: 'textfield', onSubmit: function(file, ext) { alert("上传成功"); }, onComplete: function(file, response) { } }); })(); </script> </body>
Le code principal est publié ici une fois le rendu de la page terminé, nous utilisons une fonction auto-exécutable pour ajouter un événement de téléchargement asynchrone au bouton avec l'identifiant de téléchargement. , new AjaxUpload(id , l'identifiant dans l'objet) correspond à l'identifiant de l'objet lié. Quant au deuxième paramètre, les données sont des données supplémentaires. Le nom peut être arbitraire. La fonction onSubmit est la fonction de rappel avant de télécharger le fichier. Le premier fichier de paramètres est le nom du fichier, ext est le nom du suffixe du fichier et les données renvoyées par le serveur peuvent être traitées dans la fonction onComplete. Ce qui précède sont les implémentations de deux clients de téléchargement de fichiers simples.