Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > [jquery] Как правильно передать <textarea>


Автор: Gold Dragon 2.4.2011, 08:02
Есть форма в которой есть <textarea>
Для проверки валидности я должен передать эту форму на PHP-скрипт, для очистки от "мусора" и вернуть обратно, но с сохранением переносов строки. 

Как это лучше сделать?

Автор: bars80080 2.4.2011, 14:33
Цитата(Gold Dragon @  2.4.2011,  08:02 Найти цитируемый пост)
но с сохранением переносов строки

если имеются ввиду просто переносы, а не нажатия клавишы enter, то не получится, ибо перенос - это исключительно зрительная фишка, в тексте не обладающая никакой структурой.
единственное, можно вроде textarea задать обозначать переносы как \n, в таком случае он встанет обратно, как и был. но имхо, это ересь ещё та

Автор: Gold Dragon 2.4.2011, 14:41
не так выразился, переносы по Ентер smile

Автор: bars80080 2.4.2011, 18:41
ну так не вырезай эти переносы на сервере и всё. текст останется в норме

Автор: Gold Dragon 2.4.2011, 18:53
передавать то как 
$("#text").val()
или 
$("#text").html()

Автор: bars80080 2.4.2011, 22:52
значение поля - это value, а не DOM-содержимое

Автор: Gold Dragon 3.4.2011, 08:09
в общем, я передаю на сервер это
Код

function ftext(){
    a = $("#text").val();
    $.get("ajax.php?page=ftext&str="+a, function(data){
        $("#text").val(data);
        if($("#text").val()==''){
            $("#textid").attr("src","images/tpl/but_off.png");
            $("#texterr").text("Необходимо написать сообщение (не более 1000 знаков)");
        }else{
            $("#textid").attr("src","images/tpl/but_on.png");
            $("#texterr").text("");
        }
    });
}


на сервере обрабатываю данные, т.е. удаляю лишние пробелы, тэги, определённый код и возвращаю обратно. При этом мне нужно чтобы в <textarea> вернулись и "Enter`ы".

Я просто не могу понять, вообще передаётся ли \n и \r? пытаюсь применить nl2br(), но что-то ничего нет. Данные возвращаются в одну строчку.. Вот к примеру скрипт на сервере
Код

function varFText($str){
    $str = nl2br(substr(strip_tags(trim($str)),0,1000));
    echo $str;
}


Автор: Amphiluke 3.4.2011, 09:30
Цитата(Gold Dragon @  3.4.2011,  11:09 Найти цитируемый пост)
$.get("ajax.php?page=ftext&str="+a, function(data){


Код

$.get("ajax.php?page=ftext&str="+encodeURIComponent(a), function(data){

?
 smile 

Автор: Gold Dragon 4.4.2011, 08:12
Amphiluke, спасибо, всё заработало  smile 
тема закрыта!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)