我正在以标准 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);
});
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)