jquery提交时把表单转成json,调用serializeArray()返回空?

通过jquery的serialize()方法可以让表单的提交变的简易!可为什么用serialize()获取不到input的内容呢?

我们经常ajax提交表单的时候,会将form对象serialize()序列化,然后通过ajax请求提交给后台!

以下是网友提交的代码片段:

 //网友:

  1. $().ready(function(){ 
  2.   $("form").submit( function () { 
  3.     alert($(this).serializeArray()); 
  4.   }); 
  5. }); 
  1. <form id="form" class="form-signin" role="form"> 
  2.     <h2 class="form-signin-heading">Please sign in</h2> 
  3.     <input type="email" class="form-control" placeholder="Email address" required autofocus value="hehe@qq.com"/> 
  4.     <input type="password" class="form-control" placeholder="Password" required /> 
  5.     <div class="checkbox"> 
  6.       <label> 
  7.         <input type="checkbox" value="remember-me"/> Remember me 
  8.       </label> 
  9.     </div> 
  10.     <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button> 
  11. </form> 

通过以上代码可以看出,为什么通过jquery的serializeArray()返回空值?

原因:没有给form中相关input加上字段的name属性。加上name属性即可解决!

说明:serialize()方法可以将form里的字段内容序列化成一个类似“webname=久久经验网&url=http://www.exp99.com”的字符串,用于ajax请求。

 

相关经验

导读书签
书签初始化中…