jQuery:如何添加换行符以形成输入?

我正在以标准HTML格式收集信息。 例如,我有 。 提交表单时,我想在输入的值中添加换行符。 因此,如果用户输入“foo”,表单将提交值“foo \ n”。

这是我正在使用的jQuery函数:

 $("#formID").submit(function () { $(":text").each(function () { var value = $(this).val(); var newValue = value + " \n"; $(this).val(newValue); }); }); 

但是,在提交表单时,分配给表单字段的值没有换行符。

我的目标是使换行能够在后端表单处理的输出中生存,后者生成一封电子邮件。 由于我无法控制生成邮件的脚本,因此我尝试使用我可以控制的格式强加一些格式。

任何帮助表示赞赏。

在我看到您的评论输出是纯文本之前,我发布了我之前的答案。 现在试试这个:

 $(document).ready(function() { $("#formID").submit(function () { $(":text").each(function () { var value = $(this).val(); var myname = $(this).attr('name'); var newValue = value + " \n"; var hid = ''; $(this).removeAttr('name'); $("#formID").append(hid); }); }); }); 

上一个答案

正如Mark所说,当在浏览器(或电子邮件客户端)中查看时,换行符不会呈现为换行符,因此您应该添加一个换行符,而不是添加换行符“\ n”

 $("#formID").submit(function () { $(":text").each(function () { var value = $(this).val(); var newValue = value + '
'; $(this).val(newValue); }); })

文本框不包含“\ n”只有textarea。 您可以做的是将数据自己发布到控制器或将值存储在隐藏字段中并提交表单并读取服务器中的隐藏字段,如果您没有太多控制,则将名称与隐藏字段匹配。