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