Просмотр полной версии : Перевод строки в JS
Хочу вот так сделать:
alert("TEXT"+перевод строки+"TEXT");
вместо "перевод строки" что писать нужно? И как добавить ссылку в алерт? Заранее спасибо...
спасибо. а как ссылку в алерт добавить? скажите пожалуйста
SurPaul,
всмысле ссылку? <a href=''>link</a> Это чтоли?
только прямо в самом алерте... html-теги я так понял в скриптах нельзя
ну а как в алерте написать?))
ну а как в алерте написать?))
никак там не написать.
для ссылок и прочего нужно создавать окна или боксы.
ну а как в алерте написать?))
http://link.domen/
Если хочешь <a href=""></a>, то можно создать div оформленный как alert или покрасивее. Можешь использовать ExtJS для этого или jQuery UI . В общем никто не ограничивает в фантазии.
никак там не написать.
Чё, http://link.domen/ не ссылка?
Чё, http://link.domen/ не ссылка?
всмысле? :) тупо вписать адрес? :) ну да, можно.
точно??((( я делаю календарь jQuery с праздниками, сделал так что бы например после выбора 1 января открывалось окошко, где написано "Happy New Year!", хотел ещё чтобы менялся фон этой ячейки, но мне сказали что так нельзя, хочу сделать так чтобы было ещё написано "Поздравить!" (ссылка)
скажу по секрету, можно сделать так, чтобы после выбора появлялось окошко ещё круче, чем у alert'a, где можно вписать всё, что угодно и менять не только фон, но и все остальные параметры и свойства )
Чё, http://link.domen/ не ссылка?
Я думаю он имел ввиду, ссылку, что бы можно было перейти по ней
9xakep,
Я как бы в курсе.
скажу по секрету, можно сделать так, чтобы после выбора появлялось окошко ещё круче, чем у alert'a, где можно вписать всё, что угодно и менять не только фон, но и все остальные параметры и свойства )
окошко от jQuery))) а фон я поменять хотел у ячейки)
скажу по секрету, можно сделать так, чтобы после выбора появлялось окошко ещё круче, чем у alert'a, где можно вписать всё, что угодно и менять не только фон, но и все остальные параметры и свойства )
а как сделать чтобы dialog открывался после выбора определённой даты? :D
а как сделать чтобы dialog открывался после выбора определённой даты? :D
по клику на дате открыть окно?)
по клику на дате открыть окно?)
да, по клику на определённую дату)
да, по клику на определённую дату)
я не спрашивал, по какому условию, я предложил вариант :)
по клику на определенной дате открывай окно...
taravasya
11.08.2016, 19:41
Подскажите пожалуйста как правильно реализовать:
Есть страница сайта, данные которой выводятся с помощью 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 проверяется и если надо конвертируется кодировка(а то заметил, что иногда возникают затыки с русскими символами)).
Всё работает зачемятельно, за исключением того, что после редактирования, при отправке назад в БД, игнорируются переносы строки. Не подскажите, как правильно "побороть" это?
иногда возникают затыки с русскими символами
Значит либо сервер и клиент работают в разных кодировках, либо некорректна или вообще не устанавливается кодировка соединения с базой.
игнорируются переносы строки.
В чем это выражается?
taravasya
11.08.2016, 20:12
Спасибо за ответ!
Значит либо сервер и клиент работают в разных кодировках
Да вроде не замечалось раньше такого... Я с булкой уже давно.. умею настраивать под неё всё... Затык возникает только при использовании моего скрипта. Но это не важно.. )))
В чем это выражается?
Как я писал ранее, после редактирования текста в contenteditable див-е, по событию onblur, имеющееся содержимое, отправляется в БД. Например, я написал вот такой текст:
Это мой текст. Это:
мой текст.
А в БД он сохраняется так:
Это мой текст. Это:мой текст.
При этом, очень важный момент, если в тексте УЖЕ были переносы, до ajax-редактирования, то они сохраняются.
warren buffet
11.08.2016, 20:16
Видишь, как простое на этапе выбора решение, оборачивается полной задницей на этапе реализации. С простыми решениями всегда такая засада. Теперь ты захотел кросс-браузерный конвертер переносов, потом с кодировками и хтмлем геморрой. И это все, вместо того, чтобы подставлять обычный textarea и по тем же каналам и с теми же скриптами все посылать и обрабатывать.
Атрибут contenteditable придуман не для таких задач. Это вот когда ты можешь отредактировать веб-страницу, чтобы сохранить ее как в файл, или отправить на печать, или сделать снимок. Но точно не для ввода текста.
taravasya
11.08.2016, 20:21
warren buffet,
Ну... таки работает )) Эта возможность будет только у админов форума. То-есть это не рабочий вариант. Но есть контент, в довольно большом количестве, который нужно править. Я не придумал ничего лучше чем это.
А Вы имеете ввиду, что лучше, по двойному клику преобразовать div в textarea и при потере им фокуса снова возвращать в div?
кросс-браузерный конвертер переносов
да в принципе только хром интересует....
А в БД он сохраняется так:
Это мой текст. Это:мой текст.
Это вы смотрите в РМА или же на страницах сайта?:
taravasya
11.08.2016, 20:32
laimas,
И там и там выглядит так. На странице естественно только после обновления. А в БД именно без переноса и сохраняется.
warren buffet
11.08.2016, 20:41
Ну... таки работает
Если работает, ты зачем сюда пришел?
$currentDlFile.text() - а надо html получать. Но учтите, это будет BR.
PS. Зачем для простого текста использовать contenteditable, а не просто textarea?
taravasya
11.08.2016, 20:46
надо html получать
Тогда всё вообще не правильно сохранятеся, потому как тогда:
это будет BR
))))))
Зачем
Просто недопетрил вовремя... Я тот ещё программер ))
Зачем для простого текста использовать contenteditable, а не просто textarea?
ОК. Пошёл в нэт )), тем более, что "сосед сверху" о том же говорит...
Вот вариант:
http://jsfiddle.net/GeJkU/
я так понимаю это оно?
ЗЫ///Всем спасибо за подсказки!
Тогда всё вообще не правильно сохранятеся, потому как тогда:
Ну а чего вы хотели - при contenteditable перенос будет html элементом, а не \r\n. Так что выбирайте.
taravasya
11.08.2016, 23:14
Всем большущее спасибо! Получилось вот так:
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);
});
}
});
});
}
warren buffet
12.08.2016, 01:05
Да подсунуть textarea в 100 раз проще, чем мудохаться с хтмлем не хтмлем в дивах каких-то. Если ты бы искал на английском, то мгновенно бы нашел пару тредов на SO, а я за тебя искать не хочу, ибо идея идиотская изначально.
ЗЫ еще понахерачил несусветных прототипов в хтмл элемент. Кольхоз.
taravasya
12.08.2016, 15:33
Здесь похоже свинство в норме??? :blink:
Это я к тому же, что например laimas, сказал мне тоже самое, но только нормально обратив внимание на мои ошибки, а с позволения сказать - "Вы" только подхамливаете, в основном, ничего не говоря по делу....
То что я менее опытен в данном вопросе, совсем не означает "кольхоз", а вот подобный подход к диалогу, говорит о гораааааздо более худших качествах ;)
warren buffet
12.08.2016, 16:09
До использования contenteditable может дойти только очень опытный и очень упертый кодер. Лодырь и гулена пойдет и скачает какой-нить плагин для булки и начнет модерить как из пушки.
Тебе просто жалко выпиливать весь этот бред, заменять на нормальные, человеческие коды, отчего и баттхерт. Ну конвертируй br с div'ами в переносы и обратно. Каждый браузер обслуживает этот атрибут по-своему.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot