我有一个非常大的数据输入表单,其中包含许多文本字段,ComboBox等。 当我想用jQuery AJAX执行操作时,例如将字段发布到WebService以插入新记录,我必须将所有输入字段放在对象中并将其传递给WebService。 例如,我有像这样的会员类:
public class Member
{
private string name = String.Empty;
private string lastName = String.Empty;
public string Name
{
get { return name; }
set { name = value; }
}
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
}
我应该定义JS对象客户端并填充像这样的属性:
var m = new Member();
m.Name = $("#txtFirstName").val();
m.LastName = $("#txtFirstName").val();
之后我应该将对象传递给Webservice并执行我的serverSide Action。 所以当我有十个领域时很简单。但是当我有20个字段时,从客户端捕获所有字段并将其传递给服务器需要很长时间。 现在我的问题:
答案 0 :(得分:2)
您是否尝试过使用jQuery serialize()方法?
.serialize()方法以标准URL编码表示法创建文本字符串。它在表示一组表单元素的jQuery对象上运行。表单元素可以有几种类型:
$('form').submit(function() {
alert($(this).serialize());
return false;
});
您也可以使用此SO答案中的示例:Convert form data to JavaScript object with jQuery