search

Home  >  Q&A  >  body text

javascript - 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()
		},
PHP中文网PHP中文网2894 days ago633

reply all(1)I'll reply

  • 迷茫

    迷茫2017-04-10 12:44:08

    $('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
    })

    reply
    0
  • Cancelreply