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

количество оставшихся символов

 

223
Night_Phantom @Night_Phantom
где-то это уже писали, но не нашел ту тему и создал новую. в той теме Demon написал, что можно сделать так:
<input name=text0 onchange="checker.value=500-text0.length;">
<input name=checker value=500 size=2>
но это не работает. кто-то еще предлогал посмотреть в рассылке, но там под три цифры уходит целая строка!
что сделать с тем, что написал Demon, чтоб заработало?

2902
serhio @serhio
[quote=Night_Phantom,21.03.06, 08:06] где-то это уже писали, но не нашел ту тему и создал новую. в той теме Demon написал, что можно сделать так:
<input name=text0 onchange="checker.value=500-text0.length;">
<input name=checker value=500 size=2>
но это не работает. кто-то еще предлогал посмотреть в рассылке, но там под три цифры уходит целая строка!
что сделать с тем, что написал Demon, чтоб заработало? [/quote]
если ты собираешься это воткнуть в нижний фрейм для контроля количества символов, вводимых в строку сообщений - тогда попробуй вставить следующий код:

<script>
var maxLen1=500;
function checker() {
str1 = document.fmsg.text0.value;
len1 = str1.length;
if ( len1 > maxLen1 ) document.fmsg.text0.value = str1.substring(0,maxLen1);
document.fmsg.lenval.value = (maxLen1 - document.fmsg.text0.value.length);
document.fmsg.text0.focus(); }
</script>
<input name=lenval value=500 size=2><input type=text maxlength=500 name=text0 class=text size=80 onKeyUp=checker() >


есть два легко решаемых нюанса - при очистке строки ввода или обновлении фрейма сообщений, число символов в счетчике остается тем, что было в последнем сообщении... первое решается добавлением функции checker() в описание кнопки очистки строки сообщений, второе - добавлением этой же функции в функцию leer_rus() нижнего фрейма после строки, направляющей фокус на строку сообщений...

20090
Dimitry @Dimitry
<input name=text0 onchange="checker.value=500-text0.value.length;">
;)

2902
serhio @serhio
[quote=demon,21.03.06, 13:18] <input name=text0 onchange="checker.value=500-text0.value.length;">
;) [/quote]
не очень эта строка работает... до тех пор, пока фокус находится в текстовом поле, события onchange не происходит... то есть, чтобы увидеть оставшееся число символов, нужно увести фокус с этого поля...
после замены onchange на onkeyup строка работает так, как нужно... небольшой нюанс при вставке смайликов - не происходит отпускания клавиши и потому длина вставляемых текстовых значений смайлов не учитывается... правда ввод любого дополнительного символа, пробела, например, приводит к точному показанию счетчика символов...

1258
Сергей @seg
Что то не работает счетчик правильно все равно.

есть два легко решаемых нюанса - при очистке строки ввода или обновлении фрейма сообщений, число символов в счетчике остается тем, что было в последнем сообщении... первое решается добавлением функции checker() в описание кнопки очистки строки сообщений, второе - добавлением этой же функции в функцию leer_rus() нижнего фрейма после строки, направляющей фокус на строку сообщений...

serhio вот это : leer_rus() я вообще у себя не нашел. Счетчик считает, но кол-во символов остается прежним для следующего сообщения. Есть ли уже полностью реально работающий код? А то ваши сообщения уже древние, может что и изменилось за это время.

6600
Александр @admiral
<script>
var maxLen1=500;
function checker() {
str1 = document.fmsg.text0.value;
len1 = str1.length;
if ( len1 > maxLen1 ) document.fmsg.text0.value = str1.substring(0,maxLen1);
document.fmsg.lenval.value = (maxLen1 - document.fmsg.text0.value.length);
document.fmsg.text0.focus(); }
</script>

Это вставляем между </head> и <body class=chat-body> в нижнем фрейме

для вывода вставляем <input name=lenval class=ok value=500 title="Осталось" readonly size="1" >
в строку ввода текста добавляем синее:
<input type=text class=text name=text0 size=80 maxlength=500 onKeyUp=checker()>

При необходимости увеличить количество пропускаемых знаков, меняем все 500 на 1000

Отредактировано admiral - 10.11.2008
1258
Сергей @seg
admiral пишет:

<script>
var maxLen1=500;
function checker() {
str1 = document.fmsg.text0.value;
len1 = str1.length;
if ( len1 > maxLen1 ) document.fmsg.text0.value = str1.substring(0,maxLen1);
document.fmsg.lenval.value = (maxLen1 - document.fmsg.text0.value.length);
document.fmsg.text0.focus(); }
</script>

Это вставляем между </head> и <body class=chat-body> в нижнем фрейме

для вывода вставляем <input name=lenval class=ok value=500 title="Осталось" readonly size="1" >
в строку ввода текста добавляем синее:
<input type=text class=text name=text0 size=80 maxlength=500 onKeyUp=checker()>

При необходимости увеличить количество пропускаемых знаков, меняем все 500 на 1000

Все также. После отправки кол-во оставшихся знаков не восстанавливается. То что красным веделено, надо убрать кавычки, иначе размер нельзя изменить. Но за желание помочь спасибо.

2902
serhio @serhio
to seg:

расскажи, пожалуйста, что делает тег <frame ...> в нижнем фрейме твоего чата... и как стыкуется это со стандартами html...
по поводу счетчика - он не установлен в нижнем фрейме у тебя, потому ничего не могу сказать по этому поводу...

1258
Сергей @seg
serhio пишет:

to seg:

расскажи, пожалуйста, что делает тег <frame ...> в нижнем фрейме твоего чата... и как стыкуется это со стандартами html...
по поводу счетчика - он не установлен в ижнем фрейме у тебя, потому ничего не могу сказать по этому поводу...

Это не тег, это ссылка меняющая фрейм на другой фрейм. Смотри https://vmeste.eu/forum?tid=3204&p=201 сообщение №4003. При этом происходит полная смена кнопок.
А с этим счетчиком я экспериментирую здесь- **********. Не на полным ходом работающем ведь чате экспиременты такие ставить, надеюсь demon не сильно убивать меня будет, за экспирементальный чат.. 🙄

Отредактировано seg - 10.11.2008
2902
serhio @serhio
seg пишет:

serhio пишет:

to seg:

расскажи, пожалуйста, что делает тег <frame ...> в нижнем фрейме твоего чата... и как стыкуется это со стандартами html...
по поводу счетчика - он не установлен в ижнем фрейме у тебя, потому ничего не могу сказать по этому поводу...

Это не тег, это ссылка меняющая фрейм на другой фрейм. Смотри https://vmeste.eu/forum?tid=3204&p=201 сообщение №4003. При этом происходит полная смена кнопок.
А с этим счетчиком я экспериментирую здесь- **********. Не на полным ходом работающем ведь чате экспиременты такие ставить, надеюсь demon не сильно убивать меня будет, за экспирементальный чат.. 🙄

тег <frame ...> используется в разбиении на фреймы между тегами <frameset...> ... иное использование этого тега не предусмотрено стандартом... при необходимости ввести на страничку подфрейм, используется тег <iframe...> ... пример его использования - на титульнике стандартного чата... да и сам подумай... нижний фрейм уже описан в виде фрейма в более раннем документе - на индексной страничке чата... твое объявление о фрейме должно говорить о том, что ты открываешь новый фрейм в нижнем фрейме... но это автоматически должно означать, что ты разбиваешь нижний фрейм на части... то есть кроме нового фрейма в нижнем фрейме должен появиться еще один фрейм, остаток от нижнего... где описание этого у тебя?...
то, что ты имеешь ввиду под изменением вида нижнего фрейма, осуществляется ссылкой <A HREF="chat2.html" title="Заменить панель кнопок на продвинутую" >Смена кнопок</A>, которая просто загружает вместо chat.html новое содержимое chat2.html во весь нижний фрейм... без всякого разбиения на фреймы...

1258
Сергей @seg
serhio пишет:

seg пишет:

serhio пишет:

to seg:

расскажи, пожалуйста, что делает тег <frame ...> в нижнем фрейме твоего чата... и как стыкуется это со стандартами html...
по поводу счетчика - он не установлен в ижнем фрейме у тебя, потому ничего не могу сказать по этому поводу...

Это не тег, это ссылка меняющая фрейм на другой фрейм. Смотри https://vmeste.eu/forum?tid=3204&p=201 сообщение №4003. При этом происходит полная смена кнопок.
А с этим счетчиком я экспериментирую здесь- **********. Не на полным ходом работающем ведь чате экспиременты такие ставить, надеюсь demon не сильно убивать меня будет, за экспирементальный чат.. 🙄

тег <frame ...> используется в разбиении на фреймы между тегами <frameset...> ... иное использование этого тега не предусмотрено стандартом... при необходимости ввести на страничку подфрейм, используется тег <iframe...> ... пример его использования - на титульнике стандартного чата... да и сам подумай... нижний фрейм уже описан в виде фрейма в более раннем документе - на индексной страничке чата... твое объявление о фрейме должно говорить о том, что ты открываешь новый фрейм в нижнем фрейме... но это автоматически должно означать, что ты разбиваешь нижний фрейм на части... то есть кроме нового фрейма в нижнем фрейме должен появиться еще один фрейм, остаток от нижнего... где описание этого у тебя?...
то, что ты имеешь ввиду под изменением вида нижнего фрейма, осуществляется ссылкой <A HREF="chat2.html" title="Заменить панель кнопок на продвинутую" >Смена кнопок</A>, которая просто загружает вместо chat.html новое содержимое chat2.html во весь нижний фрейм... без всякого разбиения на фреймы...

Это не смена фрейма, я не так выразился. Это смена хтмл документа в фрейме одном и том же. Т.е. по этой ссылке хтмл документ открывается в нижнем фрейме, т.е. bottom (имя фрейма) То же можно делать mleft допустим. " 2 разных хтмл документа открываются в одном фрейме. Вот отсюда ********** взял вроде или что то подобное. Не помню точно. Но ведь работает. Посмотри у меня в чате. Нажми на ссылку: Смена кнопок и еще раз. ) Эту ссылку можно поставить куда угодно, она работает по имени фрейма. Какое имя фрейма напишешь, в том и будет документ открывать.

Отредактировано seg - 10.11.2008
20090
Dimitry @Dimitry
это точно.. тот тег там ничего не даёт.. только нарушает хтмл _)

2902
serhio @serhio
seg пишет:

Это не смена фрейма, я не так выразился. Это смена хтмл документа в фрейме одном и том же. Т.е. по этой ссылке хтмл документ открывается в нижнем фрейме, т.е. bottom (имя фрейма) То же можно делать mleft допустим. " 2 разных хтмл документа открываются в одном фрейме. Вот отсюда ********** взял вроде или что то подобное. Не помню точно. Но ведь работает. Посмотри у меня в чате. Нажми на ссылку: Смена кнопок и еще раз. ) Эту ссылку можно поставить куда угодно, она работает по имени фрейма. Какое имя фрейма напишешь, в том и будет документ открывать.

убери тег фраме и оставь только ссылку... ссылки должно быть достаточно... еще раз... тег фраме - это объявление об открытии нового фрейма... а у тебя содержимое грузится в уже ранее описанный фрейм... не нужно заниматься самодеятельностью со стандартами html... кто-то где-то что-то попробовал... нельзя копировать не думая о последствиях... потому как дальше могут появиться вопросы типа - а почему в этом браузере работает, а в этом нет... ответ один - это не по стандарту, значит лучше не использовать...

по поводу счетчика... да... счас изменились скрипты... ранее существовала функция leer_rus(); ... счас ее нет... потому найди в скриптах раздел - функции нижнего фрейма, подраздел - /* Обрабатывает строку ввода текста для отправления */ ... там нужно добавить ссылку на функцию checker так:

form.text0.value="";
form.text0.focus();
form.text.value=msg;
pos=amess.length; amess[pos]=msg;
parent.chat.checker();
gettime=new Date().getTime();
}

1258
Сергей @seg
Ок вечером попробую, с работы нет доступа в админку. К компу имеют доступ другие, не хочу рисковать заходя в админку с работы. Спасибо. Вечером отпишусь, что да как.

Ребят, спасибо, счетчик работает на ура, после удаления тега FRAME ссылка тоже осталась рабочей. В своем сообщении изменил инфу, проверьте пожалуйста, что бы никого в заблуждение не вводить, все ли там правильно. Еще раз огромный сенкс!

Отредактировано seg - 11.11.2008