2017-02-04 2 views
1

Я пытаюсь удалить строки, когда вы отправляете их из слова в текстовом поле. Atm это не работает на всех, eventhou я думал, что это должен быть легкий ветерок. Я уверен, что забываю что-то маленькое, но я не могу понять это. Это метод, вызываемый при вставке.Очистка строк от текстового поля

function cleanLineBreaks(el) { 
    var editedText = $(el).val().replace(/(\r\n|\n|\r)/gm," "); 
    $(el).val(editedText); 
} 

Я создал скрипку, чтобы объяснить.

Просто вставьте текст, который имеет разрывы строк в нем, как вы можете видеть, разрывы строк Арента очищено

https://jsfiddle.net/gg56rw36/7/

ответ

2

Вы должны пройти текущий объект cleanLineBreaks функции.

Кроме того, необходимо связать onPaste обработчик события, а не onclick.

<textarea onclick="cleanLineBreaks(this)"></textarea> 

function cleanLineBreaks(el) { 
 
    setTimeout(function(){ 
 
     var editedText = $(el).val().replace(/(\r\n|\n|\r)/gm," "); 
 
     $(el).val(editedText); 
 
    },0); 
 
}
textarea { 
 
    width: 400px; 
 
    height: 400px; 
 
    display: block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea onPaste="cleanLineBreaks(this)"></textarea>

+0

К сожалению, я объяснил свою гавань проблему очень хорошо. Я имел в виду, что хотел удалить перерывы на пасте. Я обновил свой jsfiddle, чтобы функция запускалась при вставке. – vincent

+0

@ vincent, он работает на вас? –

+0

Да, спасибо! – vincent

Смежные вопросы