Сообщений: 215 Откуда: Украина Зарегистрирован: 19 Октября 2008, 21:16:55 Сказали спасибо 5 раз Статус: offline
ICQ статус
Опубликовано 27 Июля 2009, 00:43:14
Подскажите пожалуйста, как правильно сделать кнопочки с тегами (B, I, U, center) как в submit.php?
а то там их нету, дак кака то неудобно, а когда я их туда добавлял то они не действовали.
Может просто там кроме самих кнопок еше надо условие гдето добавить?
Опишите плз.
Сообщений: 2515 Откуда: As is Зарегистрирован: 10 Ноября 2007, 13:15:07 Сказали спасибо 353 раз Статус: offline
Опубликовано 27 Июля 2009, 18:06:48
Что добавлял? (или давайте так, если хочешь научиться скажи что добавлял, я скажу почему не работало, если не хочешь - скажи что нужен код, я сделаю как будет время)
Сообщений: 2515 Откуда: As is Зарегистрирован: 10 Ноября 2007, 13:15:07 Сказали спасибо 353 раз Статус: offline
Опубликовано 27 Июля 2009, 19:22:13
Вот функция (урезал ненужное)
function addText(elname, wrap1, wrap2) {
if (document.selection) { // for IE
var str = document.selection.createRange().text;
document.forms['inputform'].elements[elname].focus();
...
return;
} else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
var txtarea = document.forms['inputform'].elements[elname];
...
return;
} else {
insertText(elname, wrap1 + wrap2);
}
}
Изначально неверная реализация скрипта мешает.
Код в submit.php имя формы - submit_form ,а нужно inputform , скрипт тупо не находит этой формы.
Варианты - переписать скрипт с опциональным элементом "форма", либо менять имя формы (нежелательно, мало ли)
В семерке это поправлено, а здесь мне даже пришлось переписывать код для чатти, ибо не работал корректно.
Сообщений: 2515 Откуда: As is Зарегистрирован: 10 Ноября 2007, 13:15:07 Сказали спасибо 353 раз Статус: offline
Опубликовано 28 Июля 2009, 09:23:29
Можешь добавить собственно мой мод, и переписать вызов функции кнопок под него, добавляя в конец вызова submit_form (нужная форма) еще один кстати вариант.
function addTextAS(elname, wrap1, wrap2, shout_as_form) {
if (document.selection) { // for IE
var str = document.selection.createRange().text;
document.forms[shout_as_form].elements[elname].focus();
var sel = document.selection.createRange();
sel.text = wrap1 + str + wrap2;
return;
} else if ((typeof document.forms[shout_as_form].elements[elname].selectionStart) != 'undefined') { // for Mozilla
var txtarea = document.forms[shout_as_form].elements[elname];
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
var oldScrollTop = txtarea.scrollTop;
//if (selEnd == 1 || selEnd == 2)
//selEnd = selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + wrap1 + s2 + wrap2 + s3;
txtarea.selectionStart = s1.length;
txtarea.selectionEnd = s1.length + s2.length + wrap1.length + wrap2.length;
txtarea.scrollTop = oldScrollTop;
txtarea.focus();
return;
} else {
insertText(elname, wrap1 + wrap2);
}
}