簡體   English   中英

jQuery:如何添加換行符以形成輸入?

[英]jQuery: How can I add line break to form 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);
        });
    });
});

上一個答案

正如馬克說,該換行符不會呈現在瀏覽器(或電子郵件客戶端為此事)觀看時一個換行符,這樣反而增加了換行字符“\\ n”,你應該添加一個<br/>

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

文本框不包含“\\ n”只有textarea。 您可以做的是將數據自己發布到控制器或將值存儲在隱藏字段中並提交表單並讀取服務器中的隱藏字段,如果您沒有太多控制權,則將名稱與隱藏字段匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM