我有一个使用 ajax 显示的弹出窗口。这个弹出窗口包含一个表单,这就是它的样子。
<form id="edit_tailored_form" name="thisisthename" method="post" action="/edittailored">
<h4>Country</h4>
<p>Show only records from this country.</p>
<ul>
<li><label>Country:</label>
<select class="inpt1" name="country">
<option value="0">ALL_COUNTRIES</option>
<option value="1">United States</option>
<option value="2">France</option>
</select>
</li>
</ul>
<h4>Hashtags</h4>
<div class="clr" style="height:10px;"></div>
<p>Show only records under these hashtags.</p>
<ul>
<li><label>Hashtags:</label><input type="text" name="hashtags_select" class="hashtags_select inpt1">
<a href="javascript:void(0);" class="add_btn" id="addhash_lst">+</a>
<input type="hidden" class="cid" value="" />
<div class="hashtags_list"></div></li>
<li><label> </label>
<div class="hashtags_display">
<ul>
<!-- display here the added hashtags--->
</ul>
</div>
<input type="hidden" name="hashtags" class="hashtags_hdn" value="1,3,13">
</ul>
<div class="clr" style="height:0px;"></div>
<h4>Save and quit</h4>
Save the modification and quit.
<ul>
<li><label class="control_label"> </label><a href="javascript:void(0);" class="close_popup"> </a> <input type="button" id="edit_tailored_btn" class="btn1" value="Save" /></li>
</ul>
</form>
在 javascript 文件中,我添加了这个动作:
$('#edit_tailored_btn').live('click', function(event) {
event.preventDefault();
event.stopPropagation();
var data = $('#edit_tailored_form').serialize();
$.ajax({
url: '/edittailored',
data: data + '&ajx=2',
type: 'post',
success: function(data) {
$('#add_record_wrapper').html(data);
}
});
})
edit_tailored_btn 代表表单中“保存”按钮的 ID。
如您所见,我序列化表单以获取其输入的数据,以便我可以使用 ajax(再次)发送它们。
我的问题是类似的序列化在 chrome 中不起作用(它在 Firefox 中起作用)。A 检查并发现它实际上不是序列化,它不起作用,但我的表单无法识别,至于alert($('#edit_tailored_form').attr('name'));
显示 null。
任何想法?