#jquery #forms
#jquery #формы
Вопрос:
Я создаю страницу форума и сейчас формирую раздел комментариев. Поскольку, когда вы нажимаете return, введите n в текстовой области, результат такого текста:
A
A
A
заканчивается как ‘A A A’ . Я отправляю этот текст в базу данных, поэтому я должен выполнить эту функцию перед отправкой. Поэтому я использовал onsubmit в форме и направил его в следующую функцию:
function ClearText() {
$('#CommentBox').val().replace(/n/g,'<br>');
console.log($('#CommentBox').val());
Когда я делаю это вручную на консоли, я вижу, что он фактически преобразует теги новой строки в теги br. Однако, когда я запускаю этот код, $(‘#CommentBox’).val() вообще не меняется.
Есть ли другой способ вызова функции перед отправкой? Или есть способ сделать это .replace() постоянным изменением? Заранее благодарю вас!
Ответ №1:
Теперь вы получаете только значение, вы должны установить значение,
function ClearText() {
$('#CommentBox').val($('#CommentBox').val().replace(/n/g, '<br>'));
console.log($('#CommentBox').val());
}
Ответ №2:
.replace()
не заменит фактическое значение, но вернет замененное значение указанными символами. Вам нужно сохранить его в переменной, а затем установить его снова
function ClearText() {
var replaceVal = $('#CommentBox').val().replace(/n/g,'<br>');
$('#CommentBox').val(replaceVal )
console.log($('#CommentBox').val());
}
Ответ №3:
попробуйте это
function ClearText() {
$('#CommentBox').val($('#CommentBox').val().replace(/n/g,'<br>'))
console.log($('#CommentBox').val());
}
Комментарии:
1. Хотя этот блок кода может ответить на вопрос, было бы лучше, если бы вы могли дать небольшое объяснение, почему он это делает.