[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вставка ссылки в textarea при помощи javascript
m4a1fox
Доброго времени суток Уважаемые эксперты. Сразу прошу простить за повтор Если Вам не сложно, вот такой скриптик нашел
<script type="text/javascript"> 
function insertTag(_obj_name, _tag_start, _tag_end)
// _obj_name - name объекта - как правило, textarea, но при желании можно сделать любой
// указываем именно NAME, так как согласно стандартам DOCTYPE HTML 4.01 strict и выше
// свойство ID у объектов ввода является не приемлемым и требуется обращаться только name
// _tag_start - что вставлять перед выделенным текстом
// _tag_end - что вставлять после выделенного текста

{
// берем объект
var area=document.getElementsByName(_obj_name).item(0);

// Mozilla и другие НОРМАЛЬНЫЕ браузеры
if (document.getSelection)// если есть что-либо выделенное
{ // берем все что до выделения
area.value=area.value.substring(0,area.selectionStart)+

// вставляем стартовый тег
_tag_start+

// вставляем выделенный текст
area.value.substring(area.selectionStart, area.selectionEnd)+

// вставляем закрывающий тег
_tag_end+

// вставляем все что после выделения
area.value.substring(area.selectionEnd,area.value.length);
}

// Заплатка для ебучего Internet Explorer, извинете за грубость,
// но других слов просто нет, так как уже честно заебался в каждой функции
// писать под него заплатки

else
{ var selectedText=document.selection.createRange().text;// берем текст
if (selectedText!='')// если имеется какой-то выделенный текст
{ var newText=_tag_start+selectedText+_tag_end;// составляем новые текст
document.selection.createRange().text=newText;// вставляем новый текст
}
}
}
// end function
</script>

и его кнопки
<a href="javascript:void(0);" onclick="insertTag('img_title','<strong>','</strong>');">
<
img src="../img/dlet_navs_1.png"></a>

<
a href="javascript:void(0);" onclick="insertTag('img_title','<em>','</em>');">
<
img src="../img/dlet_navs_2.png"></a>

<
a href="javascript:void(0);" onclick="insertTag('img_title','<u>','</u>');">
<
img src="../img/dlet_navs_3.png"></a>

<
a href="javascript:void(0);" onclick="insertTag('img_title','<strike>','</strike>');">
<
img src="../img/dlet_navs_1_org.png"></a>

Как вы наверняка поняли, в кнопках есть открытые и закрытые теги. Соответственно теги обрамляют выделенный текст. Осталось только одно. В этом и прошу помощи и подсказки. Необходимо еще одна кнопка - ссылка [url]. Как это сделать ума не приложу. Аналог впринципе на этом сайте при нажатии на ссылку. Спасибо.



Спустя 3 минуты, 56 секунд (3.02.2011 - 13:25) nugle написал(а):
После чего должна стоять кнопка url?

Спустя 7 минут, 33 секунды (3.02.2011 - 13:33) m4a1fox написал(а):
nugle
Ну я думаю это не принципиально. Последней во втором скрипте первого сообщения. Может кнопка.

Спустя 2 минуты, 35 секунд (3.02.2011 - 13:35) nugle написал(а):
Я не совсем понимаю задание, выложи скрипт где должна быть кнопка, что идёт дальше и попробуй как нить по другому задание написать!

Спустя 5 минут, 34 секунды (3.02.2011 - 13:41) m4a1fox написал(а):
nugle
Ну смотри, нужна кнопка наподобие этой
<a href="javascript:void(0);" onclick="insertTag('img_title','<strong>','</strong>');">
<
img src="../img/dlet_navs_1.png"></a>

Только по нажатии на нее, должно появляться диалоговое окно на js с полем ввода адресса ссылки, как сделано на этом форуме, когда щелкаешь на кнопку ссылка, и появляется область - введите URL. Вот попробуй нажми на кнопке ссылка на этом форуме.

Спустя 26 минут, 9 секунд (3.02.2011 - 14:07) nugle написал(а):
<script type="text/javascript">
var mess = prompt("Введите url!", "http://");

document.write("<a href=" +mess + "onclick='insertTag('img_title','<strong>','</strong>'); '><img src='../img/dlet_navs_1.png'></a>");
</
script>

Спустя 8 часов, 17 минут, 37 секунд (3.02.2011 - 22:25) m4a1fox написал(а):
nugle
Добрый вечер. Посмотрел Ваш код. Я конечно не шарю в JS но код начинает работать как только я открываю страницу, а по нажитию на кнопку - ничего не происходит.

Спустя 3 минуты, 9 секунд (3.02.2011 - 22:28) m4a1fox написал(а):
nugle
Вернее даже не так. По нажатию он перекидывает по ссылке
http://localhost/crimealeaks/admin/nullonclick='insertTag('img_title');

Может быть это потому что я экранировал некоторые кавычки?

Спустя 1 минута, 55 секунд (3.02.2011 - 22:30) nugle написал(а):
на форуме это выглядит так
<script type="text/javascript">
var mess = prompt("Введите url!", "http://");
var mess2 = prompt("Введите что будет отображаться!");

document.write("<a href=" +mess + ">" +mess2 + "</a>");
</
script>

Или что то вроде этого

Понимаете всего доступно два вида кавык, для документ врайт нужно один вид и для вашего запроса два!вот такая незадача!

Спустя 3 минуты, 34 секунды (3.02.2011 - 22:33) m4a1fox написал(а):
nugle
Диалоговое окно появляется как только я захожу на страницу... Интересно.... И как-то же это надо зациклить на кнопку....

Спустя 3 минуты, 50 секунд (3.02.2011 - 22:37) nugle написал(а):
вот так не будет появляться
<script type="text/javascript">
function http(){
var mess = prompt("Введите url!", "http://");
var mess2 = prompt("Введите что будет отображаться!");

document.write("<a href=" +mess + ">" +mess2 + "</a>");
}
</script>

<
input type="button" onclick="http()" value="http://"/>

Спустя 4 минуты, 34 секунды (3.02.2011 - 22:42) m4a1fox написал(а):
nugle
Может поможете функцию подшаманить?
function insertTag(_obj_name, _tag_start, _tag_end)
// _obj_name - name объекта - как правило, textarea, но при желании можно сделать любой
// указываем именно NAME, так как согласно стандартам DOCTYPE HTML 4.01 strict и выше
// свойство ID у объектов ввода является не приемлемым и требуется обращаться только name
// _tag_start - что вставлять перед выделенным текстом
// _tag_end - что вставлять после выделенного текста

{
// берем объект
var area=document.getElementsByName(_obj_name).item(0);

// Mozilla и другие НОРМАЛЬНЫЕ браузеры
if (document.getSelection)// если есть что-либо выделенное
{ // берем все что до выделения
area.value=area.value.substring(0,area.selectionStart)+

// вставляем стартовый тег
_tag_start+

// вставляем выделенный текст
area.value.substring(area.selectionStart, area.selectionEnd)+

// вставляем закрывающий тег
_tag_end+

// вставляем все что после выделения
area.value.substring(area.selectionEnd,area.value.length);
}
}
}
// end function

Спустя 8 минут, 59 секунд (3.02.2011 - 22:51) nugle написал(а):
по нажатию на какую картинку должна происходить функцию с урл?

Спустя 13 минут, 11 секунд (3.02.2011 - 23:04) m4a1fox написал(а):
Вы меня ради бога извините, что забрал Ваше время, но я уже разобрался... Еще раз извините.

Спустя 7 минут, 32 секунды (3.02.2011 - 23:11) nugle написал(а):
да мне не сложно, я всё равно параллельно своим делом занисаюсь!

Спустя 4 минуты, 14 секунд (3.02.2011 - 23:16) m4a1fox написал(а):
nugle
А.... ну тогда все нормально... поехали дальше)

Спустя 4 минуты, 25 секунд (3.02.2011 - 23:20) nugle написал(а):
поехали))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.