我正在以标准 HTML 表单收集信息。例如,我有 <input type="text" name="UserName" id="name"/>
。提交表单时,我想为输入的值添加换行符。因此,如果用户输入“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 = '<input type="hidden" name="' + myname + '" value="' + newValue + '"/>';
$(this).removeAttr('name');
$("#formID").append(hid);
});
});
});
<小时/>
上一个答案
正如 Mark 所说,在浏览器(或电子邮件客户端)中查看时,换行符不会呈现为换行符,因此不应添加换行符“\n”,而应添加 <br/>
$("#formID").submit(function () {
$(":text").each(function () {
var value = $(this).val();
var newValue = value + '<br/>';
$(this).val(newValue);
});
})
关于javascript - jQuery:如何在表单输入中添加换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2157739/