jQuery: Как я могу добавить разрыв строки для формирования входа?

Я собираю информацию в стандартной HTML-форме. Я имею, например, <input type="text" name="UserName" id="name"/>. Когда форма отправлена, я хочу добавить разрыв строки к вводимому значению. Таким образом, если бы пользователь ввел "нечто", то форма отправила бы значение "foo\n".

Вот функция jQuery, которую я использую:

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

Когда форма отправлена, однако, значение, присвоенное полю формы, не имеет разрыва строки.

Моя цель состоит в том, чтобы разрыв строки пережил вывод обработки формы бэкенда, которая генерирует электронное письмо. Так как я не управляю сценарием, который генерирует почту, я пытаюсь наложить некоторое форматирование с тем, чем я могу управлять.

Любая помощь ценится.

5
задан theJBRU 28 January 2010 в 20:31
поделиться

2 ответа

Я разместил свой предыдущий ответ до того, как увидел ваш комментарий о том, что выводится обычный текст. Теперь попробуйте следующее:

$(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" следует добавить

$("#formID").submit(function () {
    $(":text").each(function () {
        var value = $(this).val();
        var newValue = value + '<br/>';
        $(this).val(newValue);
    });
})
5
ответ дан 14 December 2019 в 13:36
поделиться

Текстовое поле не содержит «\ N» только Textarea. То, что вы можете сделать, это опубликовать данные сами к контроллеру или хранить значения в скрытых полях и отправьте форму и прочитайте скрытые поля на сервере, если у вас нет большого контроля, там сопоставляем имена в скрытые поля.

1
ответ дан 14 December 2019 в 13:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: