[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт [b][/b] кодов работает только в Opere и час
BesTime
Работает в хроме:
<input onclick="javascript:tag('', '');" type="button" value="b" title="Жирный текст">

Не работает в хроме
<OPTION onclick="javascript:tag('[red]', '[/red]');" >Красный


И этоже самое все вообще не работает в ие

Скрипт который добавляется бб код в текстовое поле вот:

<script language="JavaScript" type="text/javascript"> 
function tag(text1, text2) {
if ((document.selection)) {
document.form.msg.focus();
document.form.document.selection.createRange().message = text1+document.form.document.selection.createRange().message+text2;
} else if(document.forms['form'].elements['message'].selectionStart!=undefined) {
var element = document.forms['form'].elements['message'];
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.form.msg.value += text1+text2;
}
</script>


помогите пожалуйста решить проблему



Спустя 5 минут, 27 секунд (17.03.2012 - 12:30) zeromind написал(а):
вот тебе кроссбраузерный вариант + фокус в центр ББ тэгов, т.е [ B ]фокус[ /B ]:

function insert(aTag, eTag) {
var input = document.getElementById('smile');
input.focus();
/* fur Internet Explorer */
if(typeof document.selection != 'undefined'){
/* Einfugen des Formatierungscodes */
var range = document.selection.createRange();
var insText = range.text;
range.text = aTag + insText + eTag;
/* Anpassen der Cursorposition */
range = document.selection.createRange();

if (insText.length == 0){
range.move('character', -eTag.length);
}else{
range.moveStart('character', aTag.length + insText.length + eTag.length);
}
range.select();
}

/* fur neuere auf Gecko basierende Browser */
else if(typeof input.selectionStart != 'undefined'){
/* Einfugen des Formatierungscodes */
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
/* Anpassen der Cursorposition */
var pos;
if (insText.length == 0){
pos = start + aTag.length;
}else{
pos = start + aTag.length + insText.length + eTag.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* fur die ubrigen Browser */
else
{
/* Abfrage der Einfugeposition */
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos)){
pos = prompt("Einfugen an Position (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length){
pos = input.value.length;
}
/* Einfugen des Formatierungscodes */
var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
}
}


вызываю так:
<img style='cursor:pointer' src="<?=HOST?>bbcode/images/bold.gif" alt="Жирность" onclick="insert(' [ b ] ', '[ / b ] ')">


c тебя плюс в карму :))

Спустя 9 минут, 18 секунд (17.03.2012 - 12:39) BesTime написал(а):
zeromind
в ие заработало, но в хроме попрежнему селект с цветами не работает

<OPTION onclick="javascript:tag('[red]', '[/red]');" >Красный

Спустя 3 минуты, 45 секунд (17.03.2012 - 12:43) Visman написал(а):
Что такое <OPTION?

Спустя 6 минут, 42 секунды (17.03.2012 - 12:50) BesTime написал(а):
<SELECT>
<OPTION
selected>Цвет текста
<OPTION onclick="javascript:tag('[red]', '[/red]');" >Красный
<OPTION onclick="javascript:tag('[orange]', '[/orange]');" >Ораньжевый
<OPTION onclick="javascript:tag('[yellow]', '[/yellow]');" >Желтый
<OPTION onclick="javascript:tag('[green]', '[/green]');" >Зеленый
<OPTION onclick="javascript:tag('[blue]', '[/blue]');" >Голубой
<OPTION onclick="javascript:tag('[darkblue]', '[/darkblue]');" >Синий
<OPTION onclick="javascript:tag('[purple]', '[/purple]');" >Фиолетовый
<OPTION onclick="javascript:tag('[grey]', '[/grey]');" >Серый
<OPTION onclick="javascript:tag('[black]', '[/black]');" >Черный
</SELECT>


кликаешь по названию и выезжает список цветов, непомню как он по научному называется,

Спустя 8 минут, 30 секунд (17.03.2012 - 12:58) nugle написал(а):
BesTime
option в конце закрывается, просто некоторые браузеры дописывают, а некоторые нет

Спустя 9 минут, 24 секунды (17.03.2012 - 13:08) BesTime написал(а):
дописал непомогло

Спустя 3 часа, 14 минут, 23 секунды (17.03.2012 - 16:22) inpost написал(а):
На option вешать нельзя, надо на select: onchange.
Быстрый ответ:

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