我有一个带有表单的 JSP 页面。当我提交表单时,它会构建并生成一个 JSON 字符串,我用它来进行 AJAX 发布。
但是我有一个问题,我需要从表单中获取多个值,并且我正在使用以下方法来执行此操作:
.find('input[name=item1])
.not('input[type=hidden]')
如何执行此操作以获取名称为 item1、item2 和 item3 的输入?
我试过这个,但它没有工作?
.find('input[name=item1][name=item2][name=item3]')
下面是我的代码:
// Create JSON based data object
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
// Form Submission
$('#form').submit( function() {
// Create data array, used for building request message
var data = {
request: {
requestType: "request",
fields: [ {
itemX1 : '1',
itemX2 : '2',
itemX3 : '3'
} ]
}
};
// Create field array based variables for request message
var fields = {
fields: [ {
itemX1 : null,
itemX2 : null,
itemX3 : null
} ]
};
// Get reqired data from the form submitted
fields = $('#form')
//.find('input')
.find('input[name=lmBtId][name=my]')
.not('input[type=hidden]')
.serializeObject();
// Set the field array variables with data
fields.itemX1 = '1';
fields.itemX2 = '2';
fields.itemX3 = '3';
// Update data array with newly updated field array
data.request.fields = [fields];
var finalData = JSON.stringify(data);