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

Méthode d'implémentation de jQuery sérialisant les données de formulaire en objets JSON

青灯夜游
Libérer: 2018-10-08 16:55:36
avant
2984 Les gens l'ont consulté

Cet article présente principalement la méthode d'implémentation de jQuery sérialisant les données du formulaire dans des objets JSON. Cet article vous le présente en détail à travers un exemple de code et a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer

La méthode de sérialisation fournie par jquery peut être implémentée.

$("#searchForm").serialize();
Copier après la connexion
Cependant, en observant les informations de sortie, nous avons constaté que la méthode serialize() consiste à fusionner les données du formulaire en une chaîne au format de requête http.

Serialize peut en effet résoudre les données générales de soumission. Mais parfois, nous avons besoin d'un objet objet au lieu d'une chaîne (par exemple, lors de la définition des paramètres de condition de requête dans jqgrid reload, un objet objet est nécessaire).


La méthode est la suivante :

(function(window, $) {
  $.fn.serializeJson = function() {
    var serializeObj = {};
    var array = this.serializeArray();
    var str = this.serialize();
    $(array).each(
        function() {
          if (serializeObj[this.name]) {
            if ($.isArray(serializeObj[this.name])) {
              serializeObj[this.name].push(this.value);
            } else {
              serializeObj[this.name] = [
                  serializeObj[this.name], this.value ];
            }
          } else {
            serializeObj[this.name] = this.value;
          }
        });
    return serializeObj;
  };
})(window, jQuery);
Copier après la connexion
Appel :

console.info($("#searchForm").serializeJson());
Copier après la connexion

Ce qui suit est un morceau de code pour voir comment jQuery sérialise le formulaire en un objet JSON

<form id="myform"> 
  <table> 
    <tr> 
      <td>姓名:</td> 
      <td> <input type="text" name="name" /> </td> 
    </tr> 
    <tr> 
      <td>性别:</td> 
      <td> 
        <input type="radio" name="sex" value="1"> 男 
        <input type="radio" name="sex" value="0"> 女 
      </td> 
    </tr> 
    <tr> 
      <td>年龄:</td> 
      <td> 
        <select name="age"> 
          <option value="20">20</option> 
          <option value="21">21</option> 
          <option value="22">22</option> 
        </select> 
      </td> 
    </tr> 
    <tr> 
      <td>爱好</td> 
      <td> 
        <input type="checkbox" value="basketball" name="hobby">篮球 
        <input type="checkbox" value="volleyball" name="hobby">排球 
        <input type="checkbox" value="football" name="hobby">足球 
        <input type="checkbox" value="earth" name="hobby">地球 
      </td> 
    </tr> 
    <tr> 
      <td colspan="2"> 
        <input type="button" id="ajaxBtn" value="提交" /> 
      </td> 
    </tr> 
  </table> 
</form> 
 
<script type="text/javascript"> 
  $(function() { 
    $("#ajaxBtn").click(function() { 
        var params = $("#myform").serializeObject(); //将表单序列化为JSON对象  
        console.info(params); 
      }) 
  }) 
  $.fn.serializeObject = function() { 
    var o = {}; 
    var a = this.serializeArray(); 
    $.each(a, function() { 
      if (o[this.name]) { 
        if (!o[this.name].push) { 
          o[this.name] = [ o[this.name] ]; 
        } 
        o[this.name].push(this.value || &#39;&#39;); 
      } else { 
        o[this.name] = this.value || &#39;&#39;; 
      } 
    }); 
    return o; 
  } 
</script>
Copier après la connexion
La méthode serializeObject ci-dessus consiste à sérialiser le formulaire en un objet JSON

Résumé

Ci-dessus Ce qui précède est la méthode d'implémentation de jQuery sérialisant les données du formulaire en objets JSON introduite par l'éditeur. J'espère que cela sera utile à tout le monde !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jb51.net
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