通过循环表单字段来构建变量的值

在AJAX / JS方面仍然有点绿色,并且不知道我正在寻找的具体方法/function来实现这个任务。

如果以前一直问过类似的问题,请跟我一起,我希望这里有足够的信息来帮助我找到正确的答案。

大纲

我目前正在为特定页面构建表单,用户可以在其中提供有关amny页面内容的建议。

表单显示在模式对话框中,允许用户提出建议而不会从他们所在的页面中删除。

当然,我正在设计重用代码 – 一次编写,多次使用 – 在网站的任何地方提供类似的表单显示和提交方法,而无需重新编写代码。

环境

该站点托管在IIS6服务器上,页面在ASP中,并使用BrainJar的可靠,经典的ASP FormMail脚本通过电子邮件发送表单数据。

问题

modal dialog可以处理,并使用Nettuts +中的这个示例从模态中执行提交。

Nettuts +脚本的构建方式使您需要定义构成表单的所有单个字段以传递给您的formmail脚本。

因此,每次你需要使用它时,你需要更新var dataString的组合方式,这取决于你有多少caffine或痛苦的用户敲门,让你var dataString可能带来的简单错误小时诊断和纠正。

然后将每个字段编译为一个称为dataString的变量:

 var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone; 

然后Ajax启动并将数据提交给脚本,并根据结果在定义的div中出现成功消息:

 $.ajax({ type: "POST", url: "/_global/assets/scripts/formmail/formmail.asp", data: dataString, success: function() { $('#contact_form').html("
"); $('#message').html("

Suggestion received

") .append("

Thanks, your suggestion has been received and will be actioned as soon as possible.

") .hide() .fadeIn(1500, function() { $('#message').append(""); }); } ....

期望的结果

使这段代码全局可重用,并使用循环使用表单中的所有字段名称和值填充var dataString

所以,我的同胞溢出 – 请指出这个n00b正确的方向,并帮助我找到我寻求的答案。 我们非常感谢您的帮助。

呃 – 你想使用$('#contact_form').serialize()你可以在data:后附加data:所以结果是data: $('#contact_form').serialize()或者我误解了你的问题措辞?