【发布时间】:2013-10-14 08:08:33
【问题描述】:
要清楚地定义问题,请考虑这个例子。
<form id='myform'>
<div id='location'>
<input type='text' name='username'>
</div>
<div id='background' style='display:none'>
<input type='text' name='username'>
</div>
<div id='family' style='display:none'>
<input type='text' name='username'>
</div>
</form>
好的。现在我要做的是创建一个编辑表单。首先,我在页面上显示每项用户数据。用户数据被划分为这样的部分
Location
VisualAppearance
Background
Family
EducationAndCareer
Lifestyle
AdditionalQuestions
现在例如位置部分包含一些关于用户位置的信息,例如
country , city , zip , state
每个项目(如国家/地区)都包含一个箭头。在箭头上单击我将用户发送到另一个带有获取参数?item=location 的页面。在准备好文档时,我会看到 get 中的内容,然后填写相关字段并显示所需部分。在其中加载所需的下拉列表和已选择的项目。现在我想用 ajax 发布数据。如果我使用$('form').serialize(),它将发送所有带有我不想要的空值的部分信息。因为其他部分被隐藏并且未加载。我只想发送此扫描仪中位置的数据。我该怎么做。
我正在为移动设备工作。我正在为此使用 jquery 和淘汰赛。
【问题讨论】:
-
您可以从隐藏的
divs中禁用inputs。这样.serialize()就不会添加它们了 -
您可以在 beforeSend 事件处理程序或 form.submit() 事件处理程序中修改您使用 ajax 发布的数据
-
感谢@Circadian,我不知道
标签: javascript jquery knockout.js