Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Динамическое редактирование текста


Автор: psix 22.10.2007, 01:12
Понимаю, подобные вопросы поднимаются часто, но вот под свою задачу не нашел... 
Так вот:
Есть 2 div'а, один собственно с текстом, другой с текстовой ссылкой, по которой динамически создается форма для редактирования текста, находящего в первом диве. При этом текст первого дива попадает в textarea. Сама ссылка с помощью css теряет видимость.  Плюс на форме имеются две кнопачки - одна для записи изменений другая для их отмены и возврату в первоначальное состояние, без перегруза страницы.
Вот примерный код:
Код

<script>
//для редактирования
function edit(idcom,act) {
  document.getElementById('edit'+idcom).className = "disable";
  document.getElementById(idcom).innerHTML = '<form name="editform" action="'+act+'" method="post">
<textarea name="text1" cols="30" rows="5">'+document.getElementById(idcom).innerHTML+'</textarea><br>
<input type="button" onclick="submit();" value="OK"><input type="button" onclick="cancel('+idcom+');" value="cancel"></form>';

}
//для отмены редактирования
function cancel (idcom) {
    document.getElementById('edit'+idcom).className = "enable";
    document.getElementById(idcom).innerHTML = '?????'; // <-вот здесь ступор чтой-то... а может все совсем и не так
}
</script>

 
Код

printf ("<div id=\"%d\" class=\"comment_text\">%s</div>
<div class=\"disable\" id=\"edit%d\"><a onclick=\"edit(%d,'%s');\" href=\"#edit\">edit</a></div>",
$num, $text, $num, $num, $action);


Так вот в чем ступор: 
1. Каким образом вернуть исходный текст, если нажата кнопка Cancel, отменяющая редактирование.
2. Как в JavaScript почистить текст от возможных символов переноса строки <br> и др., при открытии текста на редактирование.

Благодарю. 
    

Автор: Astraller 22.10.2007, 07:33
Цитата

Так вот в чем ступор: 
1. Каким образом вернуть исходный текст, если нажата кнопка Cancel, отменяющая редактирование.
2. Как в JavaScript почистить текст от возможных символов переноса строки <br> и др., при открытии текста на редактирование.

Благодарю. 

1. Запомнить в переменную.
2. Регулярные выражения.

PS Концепция решения не верна - ИМХО. Кидать надо в iframe (designmode). И организовать wisiwig.

Автор: psix 22.10.2007, 18:29
Astraller, спасиБо за советы.
Решения оказываются всегда просты =)
А про регулярные в JavaScript, где хорошо и удобовъезжаемо описано? =) Хотя ясно, есть Google и собственно Vingrad, но как совет знатока...

По поводу P.S. - хочется просто, без излишеств. Ну и впрочем "каждый имеет право на выбор" =)  

Автор: cruelangel 22.10.2007, 19:25
pcre.ru

Автор: Astraller 23.10.2007, 07:21
От себя могу добавить что учился по книге: 
Фридл Дж. Регулярные выражения. Библиотека программиста. 2003
Очень не плохое пособие. smile 

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