首页 > jquery ajax form提交

jquery ajax form提交

$.ajax({
		type : "post",
		url : '../humanresource/archive/archiveSubmit.action',
		cache : false,
		dataType : "json",
		data : {
			'archiveDetailVO.archiveIndex' : archiveIndex,
			'archiveDetailVO.editType' : $('#archiveSubmitType').val(),
			'archiveDetailVO.userName' : $('#archiveDetail_window_userName').val(),
			'archiveDetailVO.sex' : $('#archiveDetail_window_sex').combobox('getValue'),
			'archiveDetailVO.jobId' : $('#archiveDetail_window_jobId').val(),
			'archiveDetailVO.deptId' : $('#archiveDetail_window_department').val()
		},
		error : function(XMLHttpRequest) {// 请求失败时调用函数
			if (processCommErr(XMLHttpRequest)) {
				$.messager.alert('错误', '提交失败', 'error');
			}
		},
		success : function(json) {
			$.messager.alert('成功', '提交成功!', 'info');
		}
	});

以上我的一段完整的ajax提交代码,功能就是把data中数据提交到后台VO中去,但是当数据项目过多时,以下提交项要写很多行。我的这些数据都是在一个form中,之前了解到可以用$("form").serialize()这样提交form,但我的页面至少有2个form,想问我怎么控制提交哪个?谢谢

data : {
			'archiveDetailVO.archiveIndex' : archiveIndex,
			'archiveDetailVO.editType' : $('#archiveSubmitType').val(),
			'archiveDetailVO.userName' : $('#archiveDetail_window_userName').val(),
			'archiveDetailVO.sex' : $('#archiveDetail_window_sex').combobox('getValue'),
			'archiveDetailVO.jobId' : $('#archiveDetail_window_jobId').val(),
			'archiveDetailVO.deptId' : $('#archiveDetail_window_department').val()
		},

$('form')得到的是当前页面上所有的 form, 可以通过 $($('form')[0]).serialize() 来获取第一个表单的 data

更好的做法是为不同的表单设置 id

<!-- html code -->
<form id="f1"> ... </form>
<form id="f2"> ... </form>

//js code
$('#f1').serialize()

/* update */

var preData = $('#f1').serialize();
preData['archiveDetailVO.archiveIndex'] = archiveIndex;
$ajax({
    ...
    data: preData
})
【热门文章】
【热门文章】