Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée de la façon d'utiliser le formulaire de plug-in jquery form

迷茫
Libérer: 2017-01-24 15:27:43
original
1644 Les gens l'ont consulté

Les soumissions de formulaires traditionnelles se font toutes sous la forme de sauts de page, mais la soumission ajax est plus populaire maintenant. Donc, si vous souhaitez bénéficier de la simplicité de la soumission de formulaire et de l'effet d'ajax, existe-t-il une solution ?

Comment utiliser

Deux façons d'utiliser :

La première façon

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="js/jquery-1.9.1.min.js"></script>
 <script src="js/jquery-form.js"></script>
 <script>
  // 使用ajaxForm
  $(function(){
   $("#myForm").ajaxForm(function(){
    $("#output1").html("提交成功").show();
   })
  })
 </script>
</head>
<body>
 <form id="myForm">
  <input type="text" name="username">
  <input type="text" name="password">
  <input type="submit" value="提交">
  <div id="output1" style="display: none"></div>
 </form>
</body>
</html>
Copier après la connexion

La deuxième méthode

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="js/jquery-1.9.1.min.js"></script>
 <script src="js/jquery-form.js"></script>
 <script>
  $(function(){
   //方式二 与方式一效果一样
   $("#myForm").submit(function(){
    // 使用ajaxSubmit
    $(this).ajaxSubmit(function(){
     $("#output1").html("提交成功").show();
    });
    return false;
   })
  })
 </script>
</head>
<body>
 <form id="myForm">
  <input type="text" name="username">
  <input type="text" name="password">
  <input type="submit" value="提交">
  <div id="output1" style="display: none"></div>
 </form>
</body>
</html>
Copier après la connexion

On dirait que la première méthode est plus pratique.
Le paramètre function() est la fonction de rappel après une soumission réussie.

En utilisant cette méthode de soumission, la soumission de formulaires asynchrones peut être réalisée, ce qui est très pratique. Cependant, cela reste un peu insatisfaisant. Par exemple, je souhaite peut-être vérifier avant de soumettre le formulaire. Bien que cela puisse être fait manuellement en dehors de l'action de soumission du formulaire, cela est très gênant. Le plug-in de formulaire hérite-t-il de cette fonctionnalité ?

2. Paramètre d'options

Ce qui précède ne parle que d'un seul paramètre de fonction de rappel de fonction dans le formulaire. En fait, il a un autre paramètre, qui est les options. A quoi ça sert ?

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="js/jquery-1.9.1.min.js"></script>
 <script src="js/jquery-form.js"></script>
 <script>
 
  var options = {
   target:&#39;#output1&#39;,   // 把服务器返回的内容放入id为output1的元素中
   beforeSubmit: fun1,   // 提交前的回调函数
   success:  fun2,   // 提交后的回调函数
   dataType:     // 接收服务端返回的类型 xml,scrpit,json
  };
 
  // beforeSubmit前可以作验证
  function fun1(formData,jqForm,options){
   // formData 提交值的数组对象
   // jqForm 表单元素的jQuery对象,jqForm[0]是其dom对象
   // 该函数如果返回false,则阻止表单提交
 
   // formData可以判断全部不为空的情况
   for(var i=0;i<formData.length;i++){
    if(!formData[i].value){
     alert("都不能为空");
     return false;
    }
   }
 
   // jqForm可以判断某个不为空的情况
   var form = jqForm[0];
   if(!form.name.value){
    alert("name不能为空");
    return false;
   }
 
   // fieldValue()可以获取多值的数组形式,如checkbox
   var value = $(&#39;input[name=name]&#39;).fieldValue();
   if(!value[0]){
    return false;
   }
  }
  function fun2(responseText, statusText){
   // 根据dataType不同responseText解析方式不同,
   // 默认  responseText
   // xml  responseXml以xml解析
   // json  responseJson
  }
 
  $(function(){
   //方式二 与方式一效果一样
   $("#myForm").ajaxForm(options); // 要想使options生效,需要作为参数传递
  })
 </script>
</head>
<body>
 <form id="myForm">
  <input type="text" name="username">
  <input type="text" name="password">
  <input type="submit" value="提交">
  <div id="output1" style="display: none"></div>
 </form>
</body>
</html>
Copier après la connexion

On peut voir que dans la fonction de rappel fun1 de beforeSubmit, nous avons trois façons d'obtenir les données du formulaire : formData, jqForm et fieldValue, qui satisfont différentes manières d'obtenir des valeurs. . Tant qu'il renvoie false, cela peut empêcher la soumission du formulaire. Le fun2 du rappel de réussite a également des valeurs d'état et renvoie des données du serveur. Vous pouvez le gérer comme vous le souhaitez.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal