【发布时间】:2011-05-24 00:24:59
【问题描述】:
我创建了一个动态 HTML 表单,它使用 jQuery 并根据用户的输入自定义表单字段和标签。
除了将表单字段值传递给$_POST[]数组之外,还有没有简单的方法来传递标签值?我需要将表单提交转换为电子邮件,并且电子邮件应包含表单上出现的相同标签名称。我曾考虑使用隐藏的输入字段,但这似乎不是一个理想的选择。
有什么想法吗?
【问题讨论】:
我创建了一个动态 HTML 表单,它使用 jQuery 并根据用户的输入自定义表单字段和标签。
除了将表单字段值传递给$_POST[]数组之外,还有没有简单的方法来传递标签值?我需要将表单提交转换为电子邮件,并且电子邮件应包含表单上出现的相同标签名称。我曾考虑使用隐藏的输入字段,但这似乎不是一个理想的选择。
有什么想法吗?
【问题讨论】:
发送那些标签文本是没有用的。这是不必要的流量,还有一件事需要过滤/验证。
您在服务器端创建表单,因此您已经可以访问那里的标签文本。我建议您将这些文本存储在常量中,例如:
define('TEXT_EMAIL', 'Email Address');
因此,当您创建表单时,您只需键入:
<label for="email"><?=TEXT_EMAIL?></label>
并在构建电子邮件正文时使用相同的常量(TEXT_EMAIL 和其他常量)。这样,如果您需要添加对其他语言的支持,您也将处于轻松的状态。
【讨论】:
...也许将标签值添加到表单中动态创建的隐藏字段?只需以您可以在服务器端轻松识别它们的方式命名字段(为其添加前缀?)。
【讨论】:
如果您不通过 Ajax 请求将数据发布到服务器,则考虑隐藏表单字段是正确的。
假设一个常规的表单提交,只有input 和textarea 元素的值被发送到服务器。添加适当的隐藏输入元素并从标签中设置它们的值是您唯一的选择。
【讨论】: