获取form表单的值并转化为字符串、JSONArray或JSONObject的方法及form取不到值的解决办法

来源:互联网 发布:python 加减 编辑:程序博客网 时间:2024/05/16 11:36

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">form表单提交时,可能需要转化为不同的形式来作为参数请求接口。本文总结了将form表单的值并转化为字符串、JSONArray或JSONObject的方法。</span>


1. form转化为字符串

<pre name="code" class="html"><pre name="code" class="html">var a=$('form').serialize();alert(a);


该方法将form值转化为 key=value&key=value 的形式。


2. form转化为JSONArray

var a=$('form').serializeArray();var str=JSON.stringify(a);alert(str);

3. form转化为JSONObject
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="html"><span style="white-space:pre"></span>function submit(){             var a=$('form').serializeObject() ;             var str=JSON.stringify(a);             console.info(str);         }                  $.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 || '');                  } else {                      o[this.name] = this.value || '';                  }              });              return o;          }  


附:form表单取不到input textarea值的解决办法

以上方法均可获取到input textarea的值,如果alert为空字符串,请检查input textarea的name属性是否已赋值,如没有name属性,则form取不到该文本框的值。


0 0