Javascript 提交我的表格2次';行不通

Javascript 提交我的表格2次';行不通,javascript,jquery,forms,post,Javascript,Jquery,Forms,Post,我需要提交一个带有hudge参数号的表单,并且我不允许在我的tomcat中修改maxParameterCount 所以我决定把表格数据分成几部分,然后一个一个地提交 我尝试提交前10行,然后提交下10行,依此类推 但是当表单应该是sumbit时,什么也没有发生,循环继续,最后我的表单仍然提交所有行。。。 我的部分代码: var valuesOriginal = new Map(); var valuesEdited = new Map(); var valuesBacku

我需要提交一个带有hudge参数号的表单,并且我不允许在我的tomcat中修改maxParameterCount

所以我决定把表格数据分成几部分,然后一个一个地提交

我尝试提交前10行,然后提交下10行,依此类推

但是当表单应该是sumbit时,什么也没有发生,循环继续,最后我的表单仍然提交所有行。。。 我的部分代码:

    var valuesOriginal = new Map();
    var valuesEdited = new Map();
    var valuesBackup = new Map();
    $.each($('#zgImport').serializeArray(), function(i, field) {

        if(field.name.substring(0,13) == "userLinesAuto"){
            valuesEdited.set(field.name, field.value);
        }else if (field.name.substring(0,17) == "userLinesOriginal"){
            valuesBackup.set(field.name, field.value);
        }else if (field.name.substring(0,9) == "userLines"){
            valuesOriginal.set(field.name, field.value);
        }

    });

    var totalRows = valuesOriginal.size;
    $('[id^="userLines"]').attr("disabled", "disabled"); // empty form from userLines

    var i =0;
    var j=0;
    var fieldsNumber = 14;
    var rowPerSubmit = 3;
    var submitNumber = Math.ceil((totalRows / fieldsNumber)/rowPerSubmit);
    var currentRowNumber =0;
    var cptAddedParams = 0;
    var mapIter = valuesOriginal.entries();
    var fieldPerSubmit = rowPerSubmit*fieldsNumber;
    var currentField;


while(j<submitNumber){ // submiting several times
        alert("new form");
        while(cptAddedParams < fieldPerSubmit){ //Add params to form
            currentField = mapIter.next().value;
            var input = $("<input>").attr("type", "hidden").attr("name", currentField[0]).val(valuesOriginal.get(currentField[0]));
            $('#zgImport').append($(input));
            cptAddedParams++;
        }
        cptAddedParams =0;
        j++;
        alert("submiting");
        jQuery("#zgImport").submit(function(){
            alert("Submitted");
        }); // submiting partial form
        $('[id^="userLines"]').attr("disabled", "disabled"); // empty form from userLines
    }
var valuesOriginal=newmap();
var valuesEdited=新映射();
var valuesBackup=新映射();
$.each($('#zgImport').serializeArray(),函数(i,字段){
if(field.name.substring(0,13)=“userLinesAuto”){
valuesEdited.set(field.name,field.value);
}else if(field.name.substring(0,17)=“userLinesOriginal”){
valuesBackup.set(field.name,field.value);
}else if(field.name.substring(0,9)=“userLines”){
valuesOriginal.set(field.name,field.value);
}
});
var totalRows=valuesOriginal.size;
$('[id^=“userLines”]').attr(“已禁用”、“已禁用”);//来自用户行的空表单
var i=0;
var j=0;
变量字段数目=14;
var rowPerSubmit=3;
var submitNumber=Math.ceil((totalRows/fieldsNumber)/rowPerSubmit);
var currentRowNumber=0;
var cptAddedParams=0;
var mapIter=valuesororiginal.entries();
var fieldPerSubmit=rowPerSubmit*fieldsNumber;
无功电流场;

而(j或,只需在uri中提交1个参数
条件
,然后该参数是一个
字符串
,然后发送一个JSON对象…然后在服务器端对其进行反序列化


1个对象参数

如何声明/初始化
j
submitNumber
以及
mapIter
?此外,如果不了解DOM的结构和内容,就很难诊断问题。发布HTML或其概要会有所帮助。不清楚是什么
[id^=“userLines”]
对应于。我已经编辑了我的代码。我的表单包含许多行,这些行是用户信息(姓名、名字、电子邮件…)我有3个选项卡,它们具有相同的结构(UserInfo、UserInfoEdited、UserInfoBackup)[id^=“userLines”]因为我需要先清空表单内容,然后只添加我的前N行,所以我看到
input
元素被附加到
#zgImport
,但是它们是在没有任何ID的情况下添加的,所以我不确定该行如何清除
#zgImport
@Lempkin中的元素。实际上,您可以有一个large JSON对象,有一个最大JSON大小…但是如果你点击了,你可能试图发送太多的数据。可能需要考虑如何分页或将其限制为你需要的数据。JSON大小最大值是否大于默认的POST最大值?实际上这个表单是用一个.csv文件填充的,我有700行,每个行有14个单元格,这就是w为什么我达到了tomcat默认的POST限制