[英]remove data from post before ajax request
我有一个通过JQuery ajax函数发布的表单。 该应用程序的流程如下:
我要比较的表单字段:
<input name="option[<?php echo $cmd1; ?>]" type="text">
<input name="option[<?php echo $cmd2; ?>]" type="text">
<input name="option[<?php echo $cmd3; ?>]" type="text">
<input name="option[<?php echo $cmd4; ?>]" type="text">
我只想发布已更改的输入的值。
用于将先前提交的表单与当前提交的表单进行比较的代码(先前提交的表单保存在数组tmpArray
:
var fields = $('.option').serializeArray();
var n = 0;
jQuery.each( fields, function( i, field ) {
if(field.value === tmpArray[n]){
console.log(field.value+" : "+tmpArray[n]+ " TRUE");
} else {
console.log(field.value+" : "+tmpArray[n]+ " FALSE");
}
n++;
});
ajax函数提交表单:
jQuery.ajax({
type:'POST',
async: true,
cache: false,
url: '/Controller/'+action,
success: function(response) {
jQuery('#resultField').val(response);
},
data: jQuery('form').serialize()
});
是否有(或更好的方法)从('form').serialize()
结果中删除值(如果它们与tmpArray
中的值匹配)在each()循环中?
任何建议将不胜感激!
请检查以下帖子,它可能会回答您的问题。
你可以试试看
var tempArray=[];
var tempArrayString = JSON.stringify(tempArray);
var values = $('.option').serializeArray();
values = values.filter(function(field){
return tempArrayString.indexOf(JSON.stringify(field))==-1;
});
if(values.length>0){
tempArray = values;//or something
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.