javascript - jQuery:如何在表单输入中添加换行符?

标签 javascript jquery forms text input

我正在以标准 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/

相关文章:

javascript - 可编辑的 HTML 内容在很大时非常滞后

javascript - jquery切换触发器显示为无

javascript - Graph API 将 base64 IMAGE 发布到 Facebook

javascript - MVC 在暂停四秒后重定向到另一个页面

Javascript/JQuery 直到页面重新加载后才工作

javascript - jQuery is() 或 has() 作用于多个元素

jQuery:我正在尝试将单击操作绑定(bind)到具有同一类的多个元素

java - Spring JSF 和这些错误填写的表单

php - 如何在php的编辑表单中填充下拉框

html - 如何在 HTML 中对齐输入表单