Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Не большой конкурс от меня, приз - шестизначная аська :) (https://forum.antichat.xyz/showthread.php?t=129449)

mff 12.07.2009 16:05

Не большой конкурс от меня, приз - шестизначная аська :)
 
Вобщем есть код:
Код:

<textarea></textarea>
<input type="text" />

Нужно написать на js как можно минимально и правильно с точки зрения программирования сценарий.

Задача сценария: выводить в текстовом поле оставшееся количество знаков, при вводе символов в текстарии. Допустим, их будет: 500. Как только, при вводе в текстарии количество больше 500 - символ просто не добавляется.

Приз - шестизначый icq uin :)

P.S. Копипаст подобных форм и последующее переделывание - не приветствуется! Спасибо!

Ponchik 12.07.2009 16:10

ну для <input type="text" />
это
<input type="text" maxLength=500 />

а для еучефкуф тама юзай onkeypress или onchange или ещё чёнить чё там есть :)))

mff 12.07.2009 16:26

Ponchik, ну это понятно. Вот при добавлении символа или при встаке нескольких символов, счетчик должен правильно отматывать назад. И нужно сделать как можно меньше кода, но грамотно. :)

Ponchik 12.07.2009 16:34

На, тырь на здоровье
https://www.orangetext.md/Default.aspx?lang=ru

eLWAux 12.07.2009 16:45

PHP код:

<html>

<
script>
function 
check_length(mForm) {
     var 
maxLen 50;
     if (
mForm.txArea.value.length >= maxLen) {
         
mForm.txArea.value mForm.txArea.value.substring(0maxLen);
     } else{
         
document.getElementById("mCounter").innerHTML maxLen mForm.txArea.value.length;
     }
}
</
script>

</
head>

<
body>
<
form name=formX method=post>
    <
textarea onKeyPress=check_length(this.form);
              
onKeyDown=check_length(this.form);
              
name=txArea
              rows
=4
              cols
=30></textarea>
    <
br
    
отсталось символов <b><a id=mCounter>50</a></b>
</
form>
</
body>
</
html


mff 12.07.2009 16:55

eLWAux, спасибо, но есть ошибки. Если нажать на ентер а потом на бэкспэйс счетчик минусует всёравно :(
Ponchik, не нашел там ничего я :(

m0nsieur 12.07.2009 19:39

Специально для тебя выдрал из той ссылки, что давал Ponchik.

P.S. работает конечно, но код eLWAux'a красивее =)
PHP код:

<script type="text/javascript">  
function 
Init(){
     
setInterval("CalcRest();"250);
 }  
function  
CalcRest(){
     var 
bmax;
     var 
fmax;
     var 
bres;
     var 
fres;
     var 
sbox;
     var 
sfrom;
      
sbox=document.forms[0].edtMsg.value;
 
     
fmax 10;
    
bmax 137;
     
bres bmax sbox.length;
     
fres fmax 6
     if(
fres<0){
       
document.forms[0].edtFrom.value sfrom.substring(0,fmax);
}
      if(
bres<0){
       
document.forms[0].edtMsg.value sbox.substring(0,bmax);
       
bres 0;}
       
document.forms[0].rest.value=bres;
 }
   
Init();
 </
script>  
<
html> <form> <textarea id="edtMsg" cols="31" style="margin: 0px; width: 298px; height: 103px;" language="javascript" name="edtMsg"/></textarea> <span id="lbRest">Счетчик</span> <input align="absMiddle" name="rest" value="137" readonly="true" style="width: 25px;"/> </form> </html


ReanimatoR 12.07.2009 20:16

ыыыы) прикольно под видом конкурса для себя что-то делать:D
так больше народу купицо кстате гораздо)) +1 за идею

mff 12.07.2009 20:45

ReanimatoR, спасибо.
:) Можно конечно было просить помощи в разделе PHP, PERL, MySQL, JavaScript/Важно: [JavaScript, AJAX] Задай вопрос, получи ответ, но так на много интереснее :)
И человеку приятно будет, не просто за спасибки, которые я и так поставлю :) , а за аську шестёрочку, кстати, маска XYZa ;) Статус cl :)

mff 12.07.2009 20:51

m0nsieur, гавно этот скрипт! Попробуй напиши в нём несколько предложений с вертикальной табуляцией чтобы прокрутка появилась, потом потяни до самого начала и она начинает дёргаться как какое то очко =)

То есть сообщение не отредактировать потом... И такая же проблема, почему он вертикальную табуляцию считает за символ?


Время: 02:18