2017-02-23 98 views
1

我使用jQuery的serialize()功能时,有一个问题:jQuery的序列化返回一个空字符串

<form role="form" id="enter-image-detail-form" method="post"> 
    <div class="form-group"> 
    <input type="text" class="form-control" id="image-name" placeholder="Enter image name" value="test"> 
    </div> 
    <button type="submit" class="btn btn-default btn-success btn-block">Save</button> 
</form> 
$('body').on('submit', '#enter-image-detail-form', function(e){ 
    console.log($(this).serialize()); 
    e.preventDefault(); 
}); 

它返回一个空字符串。提前致谢。

+0

@ T.J.Crowder你是对的,我的坏。 –

回答

4

您需要为表单元素添加名称属性,因为serialize()方法生成具有name属性的表单元素。

<input name="image-name" type="text" class="form-control" id="image-name" placeholder="Enter image name" value="test"> 
<!-- ^^^^^^^^^^^^^^^^^             ---> 

docs

对于表单元素的值要包含在序列化的字符串,该元素必须有一个name属性。

+1

感谢您的帮助! – cjatstackoverflow