Javascript 提交我的表格2次';行不通
我需要提交一个带有hudge参数号的表单,并且我不允许在我的tomcat中修改maxParameterCount 所以我决定把表格数据分成几部分,然后一个一个地提交 我尝试提交前10行,然后提交下10行,依此类推 但是当表单应该是sumbit时,什么也没有发生,循环继续,最后我的表单仍然提交所有行。。。 我的部分代码: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
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限制