Прямо сейчас, когда вы нажимаете Enter в текстовом поле, это вызывает возврат каретки. Затем вы можете ввести следующую строку. Но когда вы нажимаете кнопку для отправки текста, результат не дает пробелов между символами, найденными в отдельных строках. Как мне ввести код, чтобы <br>
или \n
появлялись при отправке? Например, когда я набираю:
test
test
Он возвращает:
testtest
Вот код ...
Ossn.PostComment = function($container) {
$('#comment-box-' + $container).keypress(function(e) {
if (e.which == 13) {
if (e.shiftKey === true) {
//Postings and comments with same behaviour #924
$replace_tags = function(input, allowed) {
allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('')
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi
var commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>| /gi
return input.replace(commentsAndPhpTags, '').replace(tags, function($0, $1) {
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''
})
};
$text = $('#comment-box-' + $container).html();
$text = $replace_tags($text, '<br>').replace(/<br ?\/?>/g, "\n");
$('#comment-container-' + $container).append("<textarea name='comment' class='hidden'>" + $text + "</textarea>");
$('#comment-container-' + $container).submit();
}
}
});