如何使用jquery .serialize()方法序列化表单?
问题描述:
My Form is:
<form class="something" id="main-form">
-----content----
My Jquery is:
$("form :input").change(function() {
var data = $('#main-form').serialize();
console.log(data);
$.ajax({
url:"<?php echo Yii::app()->createAbsoluteUrl('jobs/index'); ?>",
//dataType:"json",
type: "POST",
data: $('#main-form').serialize(),
success: function(data){
}
});
});
But the form is not serialized.The data field is coming empty.Please help.
我的表格是: p>
&lt; form class =“ “id =”main-form“&gt;
----- content ----
code> pre>
p>
我的Jquery是: p>
$(“form:input”)。change(function(){
var data = $('#main-form')。serialize( );
nconsole.log(data);
$ .ajax({
url:“&lt;?php echo Yii :: app() - &gt; createAbsoluteUrl('jobs / index');? &gt;“,
// dataType:”json“,
type:”POST“,
data:$('#main-form')。serialize(),
success:function(data){\ n}
});
});
code> pre>
但表单未序列化。数据字段为空。请帮助。 p>
div>
答
From .serialize(); :
the element must have a name attribute.
So make sure you give all inputs a name='whatever'
.
Here's a demo: http://jsfiddle.net/CWJDj/1/
答
See if this works any better:
var data = $('#main-form').serializeArray();
答
Try this:
var data = $("form#main-form").serialize();
That's Done.