ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

вопрос по тегам в чате

 

1163
Денис @Анатолич
У меня в чате поле ввода текст и поле для ника совмещено.
можно ли этот код

document.write("<input type=button onclick=\"document.fmsg.text0.value='[img]'+document.fmsg.text0.value+'[/img]';document.fmsg.text0.focus();\" value=\"img \"> ");
переделать так, чтобы теги вставлялись не вокруг document.fmsg.text0.value, а в document.fmsg.text0.value минус ник:
ну то есть чтобы ник тегами не обхватывало?

Отредактировано Анатолич - 14.01.2015
2970
удалён @Foggy
Самый простой способ - писать вместо этого
document.fmsg.text0.value=
это
document.fmsg.text0.value+=

тогда текст просто добавится к содержимому поля. или надо всё-таки именно минус ник?

1163
Денис @Анатолич
Foggy, да нужно именно минус ник. так как у меня и текст и ник в одной строчке.
бы ло бы удобно. нажал ник. кинул урл на картинку нажал тег. если нужно настрочил текст после тегов.
попадать курсором между скобочек в тегах, лично мне не удобно. думаю, что и посетителям тоже.
я вот подумал может есть какой то способ отбрасывать ники в строке ввода, о котором я не знаю.
знаю только что есть скрипт который сохраняет ник в поле ввода. после отправки сообщения (ваирант именно для одной строчки).
брал где то здесь на форуме и честно говоря даже не помню где он стоит и по какому принципу работает.

можно конечно сделать вариант в 2 поля (отдельно ник, отдельно текст). как в стандарте. Но мне он не нравится по ряду причин.
Например:
неудобно писать нескольким никам.
неудобно писать без конкретного адресата.
занимает больше места на экране.

2970
удалён @Foggy
Не проверял, но по идее должно работать. И да, может неправильно ловить ник! К примеру, если в тексте будет простое двоеточие - он слово до двоеточия ником. Ещё эта функция возьмёт ник только до первого двоеточия, т.е. несколько ников обрабатывать не умеет.

Это в скрипты куда-нибудь в начало функций нижнего фрейма.
function put_img() {
var message = document.fmsg.text0, // поле сообщения (но не текст)
words = message.value.split(":")[0].split(" "), // все слова до двоеточия в виде элементов массива
last_word = words.length-1, // номер последнего слова до двоеточия
nick = words[last_word]; // последнее слово до двоеточия - ник
message.value = nick + '[img]'+message.value+'[/img]';
message.focus();
}

А этим замени саму кнопку
document.write('<input type=button onclick="put_img();" value="img"> ');
Оставил комментарии, надеюсь разберёшься что зачем.


Я понимаю причины, я тоже долго старался быть без поля ника, но с ним всё равно проще жить.

2615
Сергей @Pegass
Анатолич, не помню где оригинал этого кода
оборачивает в тег только ссылки
function htags(t1,t2){
var mess=document.fmsg.text0.value;
if(mess.search("http")!=-1){mess = mess.replace(/(https? 😀 /mig, " http:");mess = mess.replace(/(https?\S+)/mig, ""+t1+"$1"+t2+"")} else {mess+=" "+t1+t2+" "};
document.fmsg.text0.value=mess;
document.fmsg.text0.focus();
}

document.write('<input type=button onclick=\'htags("[img]","[/img]");\' value="img"> ');

2970
удалён @Foggy
в теге медиа наверно)