Перевод строки в JS
Хочу вот так сделать:
alert("TEXT"+перевод строки+"TEXT"); вместо "перевод строки" что писать нужно? И как добавить ссылку в алерт? Заранее спасибо... |
alert('a\nb') |
спасибо. а как ссылку в алерт добавить? скажите пожалуйста
|
SurPaul,
всмысле ссылку? <a href=''>link</a> Это чтоли? |
только прямо в самом алерте... html-теги я так понял в скриптах нельзя
|
SurPaul,
да, нельзя |
ну а как в алерте написать?))
|
Цитата:
для ссылок и прочего нужно создавать окна или боксы. |
Цитата:
Если хочешь <a href=""></a>, то можно создать div оформленный как alert или покрасивее. Можешь использовать ExtJS для этого или jQuery UI . В общем никто не ограничивает в фантазии. |
Цитата:
|
Цитата:
|
точно??((( я делаю календарь jQuery с праздниками, сделал так что бы например после выбора 1 января открывалось окошко, где написано "Happy New Year!", хотел ещё чтобы менялся фон этой ячейки, но мне сказали что так нельзя, хочу сделать так чтобы было ещё написано "Поздравить!" (ссылка)
|
скажу по секрету, можно сделать так, чтобы после выбора появлялось окошко ещё круче, чем у alert'a, где можно вписать всё, что угодно и менять не только фон, но и все остальные параметры и свойства )
|
Цитата:
|
9xakep,
Я как бы в курсе. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
по клику на определенной дате открывай окно... |
Подскажите пожалуйста как правильно реализовать:
Есть страница сайта, данные которой выводятся с помощью PHP из MySQL(ну вообщем vBulletin). Для возможности очень быстрого редактирования, прикрутил java-скриптик, который при двойном клике по элементу, с помощью PHP(Ajax), запрашивает и выводит в элемент содержимое в том виде, в каком оно хранится в БД и после этого присваивает элементу атрибут contenteditable. Соответственно, после редактирования на onblur, отправляет содержимое элемента, как текст, обратно в соответствующее поле таблицы в БД. Вот сам скрипт: function quickEditTag(editableID) { var $currentDlFile; var $currentDlFile = $("#dlfile_" + editableID); $currentDlFile.load("downloads_ajax.php?&ajaxedit=" + editableID); document.getElementById("dlfile_" + editableID).contentEditable = true; $currentDlFile.on('blur', function() { $.post( "/downloads_ajax.php?&ajaxedit=0", { dl2fileId: editableID, dl2filemessage: $currentDlFile.text() }, onAjaxSuccess ); function onAjaxSuccess(data) { //alert(data); } document.getElementById("dlfile_" + editableID).contentEditable = false; }); } Код PHP не привожу, там в принципе всё стандартно(только непосредственно во время SET в MySQL проверяется и если надо конвертируется кодировка(а то заметил, что иногда возникают затыки с русскими символами)). Всё работает зачемятельно, за исключением того, что после редактирования, при отправке назад в БД, игнорируются переносы строки. Не подскажите, как правильно "побороть" это? |
Цитата:
Цитата:
В чем это выражается? |
Спасибо за ответ!
Цитата:
Цитата:
Это мой текст. Это: мой текст. А в БД он сохраняется так: Это мой текст. Это:мой текст. При этом, очень важный момент, если в тексте УЖЕ были переносы, до ajax-редактирования, то они сохраняются. |
Видишь, как простое на этапе выбора решение, оборачивается полной задницей на этапе реализации. С простыми решениями всегда такая засада. Теперь ты захотел кросс-браузерный конвертер переносов, потом с кодировками и хтмлем геморрой. И это все, вместо того, чтобы подставлять обычный textarea и по тем же каналам и с теми же скриптами все посылать и обрабатывать.
Атрибут contenteditable придуман не для таких задач. Это вот когда ты можешь отредактировать веб-страницу, чтобы сохранить ее как в файл, или отправить на печать, или сделать снимок. Но точно не для ввода текста. |
warren buffet,
Ну... таки работает )) Эта возможность будет только у админов форума. То-есть это не рабочий вариант. Но есть контент, в довольно большом количестве, который нужно править. Я не придумал ничего лучше чем это. А Вы имеете ввиду, что лучше, по двойному клику преобразовать div в textarea и при потере им фокуса снова возвращать в div? Цитата:
|
Цитата:
|
laimas,
И там и там выглядит так. На странице естественно только после обновления. А в БД именно без переноса и сохраняется. |
Цитата:
|
$currentDlFile.text() - а надо html получать. Но учтите, это будет BR.
PS. Зачем для простого текста использовать contenteditable, а не просто textarea? |
Цитата:
Цитата:
Цитата:
Цитата:
Вот вариант: http://jsfiddle.net/GeJkU/ я так понимаю это оно? ЗЫ///Всем спасибо за подсказки! |
Цитата:
|
Всем большущее спасибо! Получилось вот так:
function quickEditTag(editableID) { var $currentDlFile = $("#dlfile_" + editableID); $currentDlFile.load("downloads_ajax.php?&ajaxupdate=0&ajaxedit=" + editableID, function(){ var $currentDlFileHtml = $currentDlFile.html(); var $editableText = $("<textarea />"); $editableText.val($currentDlFileHtml); $currentDlFile.replaceWith($editableText); $editableText.focus(); $editableText.on('blur', function() { $.post( "/downloads_ajax.php?&ajaxedit=0&ajaxupdate=0", { dl2fileId: editableID, dl2filemessage: $editableText.val() }, onAjaxSuccess ); function onAjaxSuccess() { $currentDlFile.load("downloads_ajax.php?&ajaxedit=0&ajaxupdate=" + editableID, function(){ $editableText.replaceWith($currentDlFile); }); } }); }); } |
Да подсунуть textarea в 100 раз проще, чем мудохаться с хтмлем не хтмлем в дивах каких-то. Если ты бы искал на английском, то мгновенно бы нашел пару тредов на SO, а я за тебя искать не хочу, ибо идея идиотская изначально.
ЗЫ еще понахерачил несусветных прототипов в хтмл элемент. Кольхоз. |
Здесь похоже свинство в норме??? :blink:
Это я к тому же, что например laimas, сказал мне тоже самое, но только нормально обратив внимание на мои ошибки, а с позволения сказать - "Вы" только подхамливаете, в основном, ничего не говоря по делу.... То что я менее опытен в данном вопросе, совсем не означает "кольхоз", а вот подобный подход к диалогу, говорит о гораааааздо более худших качествах ;) |
До использования contenteditable может дойти только очень опытный и очень упертый кодер. Лодырь и гулена пойдет и скачает какой-нить плагин для булки и начнет модерить как из пушки.
Тебе просто жалко выпиливать весь этот бред, заменять на нормальные, человеческие коды, отчего и баттхерт. Ну конвертируй br с div'ами в переносы и обратно. Каждый браузер обслуживает этот атрибут по-своему. |
Часовой пояс GMT +3, время: 17:06. |