Maison  >  Article  >  interface Web  >  jQuery ajax submit Form exemple de formulaire (avec code source de démonstration)_jquery

jQuery ajax submit Form exemple de formulaire (avec code source de démonstration)_jquery

WBOY
WBOYoriginal
2016-05-16 15:06:182299parcourir

L'exemple de cet article décrit la méthode jQuery ajax pour soumettre un formulaire Form. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

La méthode $.ajax de Jquery peut implémenter des appels ajax et définir l'URL, la publication, les paramètres, etc.

Si vous avez besoin d'écrire beaucoup de code pour soumettre un formulaire existant, pourquoi ne pas simplement transférer la soumission du formulaire directement vers ajax.

Méthodes de manipulation précédentes

Par exemple, le code du Formulaire est le suivant :

<form id="Form1" action="action.aspx" method="post" >
名称:<input name="name" type="text" /><br />
密码:<input name="password" type="password" /><br />
手机:<input name="mobile" type="text" /><br />
说明:<input name="memo" type="text" /><br />
<input type="submit" value="提 交" />
</form>

Une fois soumis, il sera redirigé vers la page action.aspx. Et la valeur peut être obtenue via Request.Params["name"].

Penser

Si vous ne souhaitez pas actualiser la page en utilisant ajax, vous devez spécifier l'url et d'autres informations dans $.ajax, ce qui est difficile à maintenir.

J'ai vérifié en ligne et j'ai découvert que les étrangers avaient une solution depuis longtemps. Utilisez ajax pour soumettre directement selon les informations du formulaire. Ne rafraîchit pas la page.

Référence : http://jquery.malsup.com/form/

C’est très utile, mais j’aimerais quand même en écrire un pour moi-même.

Code de base JS

//将form转为AJAX提交
function ajaxSubmit(frm, fn) {
  var dataPara = getFormJson(frm);
  $.ajax({
    url: frm.action,
    type: frm.method,
    data: dataPara,
    success: fn
  });
}
//将form中的值转换为键值对。
function getFormJson(frm) {
  var o = {};
  var a = $(frm).serializeArray();
  $.each(a, function () {
    if (o[this.name] !== undefined) {
      if (!o[this.name].push) {
        o[this.name] = [o[this.name]];
      }
      o[this.name].push(this.value || '');
    } else {
      o[this.name] = this.value || '';
    }
  });
  return o;
}

Le premier paramètre de la méthode ajaxSubmit est le formulaire à soumettre, et le deuxième paramètre est la fonction de traitement une fois l'appel ajax réussi.

Transmettez l'action du formulaire à l'URL ajax, la méthode du formulaire au type ajax, puis transmettez le contenu du formulaire formaté aux données.

La méthode getFormJson convertit les éléments du formulaire en paires clé-valeur au format json. Sous la forme : {name:'aaa',password:'tttt'}, veillez à mettre ceux qui portent le même nom dans un tableau.

appelle

//调用
$(document).ready(function(){
  $('#Form1').bind('submit', function(){
    ajaxSubmit(this, function(data){
      alert(data);
    });
    return false;
  });
});

Avant d'appeler la méthode ajaxSubmit, vous pouvez vérifier si les données sont correctes. Dans alert(data), vous pouvez ajouter votre propre code de post-traitement de retour d'appel.

Après avoir appelé la méthode ajaxSubmit, vous devez ajouter une instruction return false pour empêcher la soumission du formulaire.

Cliquez ici pour l'exemple de code completTéléchargez depuis ce site.

Les lecteurs intéressés par davantage de contenu lié à jQuery peuvent consulter les sujets spéciaux de ce site : "Résumé de l'utilisation d'Ajax dans jquery", "Résumé des compétences opérationnelles de table jQuery (table) ", "Résumé des effets spéciaux et des compétences par glisser-déposer JQuery", "Résumé des compétences d'extension jQuery", "Résumé des effets spéciaux jQuery Common Classic" , "Animation jQuery et résumé de l'utilisation des effets spéciaux", "Résumé de l'utilisation du sélecteur jquery" et "Plug-ins communs jQuery et résumé de l'utilisation"

J'espère que cet article sera utile à tous ceux qui programment jQuery.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn