Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [JS] Come si crea contatore caratteri per una textarea?

    Ciao a tutti, purtroppo sono un niubbo completo in javascript ma vorrei sapere se qualcuno puo postarmi un semplice algoritmo (nn so se una function o quel che sia) che mi conta i caratteri inseriti in una text area e superata una soglia preimpostata nn possa scriverne altri...
    chi mi puo aiutare? Gli sarei infinitamente grato...

  2. #2
    <script type="text/javascript">

    var ns6=document.getElementById&&!document.all

    function restrictinput(maxlength,e,placeholder){
    if (window.event&&event.srcElement.value.length>=maxl ength)
    return false
    else if (e.target&&e.target==eval(placeholder)&&e.target.v alue.length>=maxlength){
    var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
    if (pressedkey.test(String.fromCharCode(e.which)))
    e.stopPropagation()
    }
    }

    function countlimit(maxlength,e,placeholder){
    var theform=eval(placeholder)
    var lengthleft=maxlength-theform.value.length
    var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
    if (window.event||e.target&&e.target==eval(placeholde r)){
    if (lengthleft<0)
    theform.value=theform.value.substring(0,maxlength)
    placeholderobj.innerHTML=lengthleft
    }
    }

    function displaylimit(thename, theid, thelimit){
    var theform=theid!=""? document.getElementById(theid) : thename
    var limit_text='Puoi inserire ancora <span id="'+theform.toString()+'">'+thelimit+'</span> caratteri'
    if (document.all||ns6)
    document.write(limit_text)
    if (document.all){
    eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
    eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
    }
    else if (ns6){
    document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true);
    document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true);
    }
    }
    </script>


    grazie a tutti ma ho trovato questo: questo portale+forum è spettacolare!

  3. #3
    scusate ancora ma nn riesco a capire perchè l'algoritmo sopra indicato applicato da me nn funziona..

    <HTML>
    <HEAD><TITLE>Domande</TITLE>
    <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Content-Language" content="it" />
    <script type="text/javascript"> var ns6=document.getElementById&&!document.all
    function restrictinput(maxlength,e,placeholder){
    if (window.event&&event.srcElement.value.length>=maxl ength)
    return false
    else if (e.target&&e.target==eval(placeholder)&&e.target.v alue.length>=maxlength){
    var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
    if (pressedkey.test(String.fromCharCode(e.which)))
    e.stopPropagation()
    }
    }
    function countlimit(maxlength,e,placeholder){
    var theform=eval(placeholder)
    var lengthlef
    =maxlength-theform.value.length
    var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
    if (window.event||e.target&&e.target==eval(placeholde r)){
    if (lengthleft<0)
    theform.value=theform.value.substring(0,maxlength)
    placeholderobj.innerHTML=lengthleft
    }
    }
    function displaylimit(thename, theid, thelimit){
    var theform=theid!=""? document.getElementById(theid) : thename
    var limit_text='Puoi inserire ancora <span id="'+theform.toString()+'">'+thelimit+'</span> caratteri'
    if (document.all||ns6)
    document.write(limit_text)
    if (document.all){
    eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
    eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
    }
    else if (ns6){
    document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true);
    document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true);
    }}</script></HEAD>
    <body bgcolor="#CCCCFF">


    Rispondi alle seguenti domande</p>


    Tempo a disposizione:4:33</p>


    Per aggiornare il tempo a disposizione aggiornare la pagina

    Domanda N. 1


    aaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssss dddddddddddddd



    (Max 600caratteri)
    <form action="http://localhost:8080/SalvaDomanda" Method="POST">
    <textarea name="1"id="1" rows="10" cols="60" maxlength="600">
    </textarea>


    <script>
    displaylimit("","1"",50)
    </script>

    <input type="submit"value="Salva la risposta"></form>

    Domanda N. 2


    ddddddddd aaaaaaaaaaa sssssssss


    (Max 600caratteri)
    <form action="http://localhost:8080/SalvaDomanda" Method="POST">
    <textarea name="2"id="2" rows="10" cols="60" maxlength="600">
    </textarea>


    <script>
    displaylimit("","2"",50)
    </script>

    <input type="submit"value="Salva la risposta"></form><form action="http://localhost:8080/Programmazione" Method="POST">


    <input type="submit"value="Procedi">
    </form>

    <form action="http://localhost:8080/RichiestaConferma" Method="POST">


    <input type="submit"value="Ritirati">
    </form>
    </BODY>
    </HTML>



    Se mi sapete cosa devo cambiare vi prego di farmelo sapere
    AIUTOOOOOOOOOOOOOO

  4. #4
    falso allarme: avevo sbagliato a nominare una variabile cioè invece di scrivere lengthleft avevo scritto lengtlef e poi un'apice di troppo

  5. #5
    Ho un altro problema: i due textarea pur facendo parte di due form differenti se ci scrivo dentro mi vanno a decrementare lo stesso contatore....come posso fare per fare decrementare il contatore di ogni rispettivo textarea?

  6. #6
    sono riuscito a farlo con un textarea e un input="text" ma con due textarea nn ci riesco...perchèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèè èèè??????????????????????????

    il secondo textarea va a modificare il contatore del primo textarea e ignora il prorpio!!!!!!!!!!
    qualcuno sa come fare????????????????????????????????????
    aiutoooooooooooooooooooooooooo

  7. #7
    BELLO QUESTO MONOLOGO!
    eh si, spero che nessuno mi abbia risposto solo perchè nn c'era nessuno in grado di rispondere perchè altrimenti mi potrei sentire snobbato...
    vabbe'
    comunque grazie a una bella ricerca ho trovato la soluzione...incredibile ma esiste e la mia grande magnanimita' mi induce a rendere partecipe chiunque frequenti questo forum o sappia usare google e abbia bisogno di aiuto....
    quest parte va tra i tag <head></head>

    • <script language="javascript" type="text/javascript">
      function countAreaChars(areaName,counter,limit)
      {
      if (areaName.value.length>limit)
      areaName.value=areaName.value.substring(0,limit);
      else
      counter.value = limit - areaName.value.length;
      }
      </script>


    poi c'è la parte da integrare con le text area e come si puo vedere il numero delle lettere mancanti si possono vedere in un piccolo text

    • <form name="form1" action="send.php">
      <textarea name="testo1" cols=47 rows=7
      onKeyDown="countAreaChars(this.form.feedback,this. form.leftChars,400);"
      onKeyUp="countAreaChars(this.form.testo1,this.form .leftChars,400);">
      </textarea>
      <input type=text name=leftChars readonly size=3 maxlength=3 value="400"> caratteri disponibili
      </form>


    se vogliamo mettere anche il secondo text area dobbiamo cambiare dei parametri
    • <form name="form2" action="send.php">
      <textarea name="testo2" cols=47 rows=7
      onKeyDown="countAreaChars(this.form.feedback,this. form.leftChars,600);"
      onKeyUp="countAreaChars(this.form.testo2,this.form .leftChars,600);">
      </textarea>
      <input type=text name=leftChars readonly size=3 maxlength=3 value="600"> caratteri disponibili
      </form>


    in questo caso il primo form avra' 400 caratteri mentre il secondo 600

    poi con questa tecnica si possono mettere molteplici form con i textarea con corrispettivi
    caratteri

  8. #8
    Originariamente inviato da One1ros
    BELLO QUESTO MONOLOGO!
    eh si, spero che nessuno mi abbia risposto solo perchè nn c'era nessuno in grado di rispondere perchè altrimenti mi potrei sentire snobbato...
    Sobbato?!?
    Non credo sia lecito aspettarsi una risposta entro la stessa giornata!
    Primo: si tratta di un forum, non di una chat!
    Secondo: chi risponde lo fa per aiutare e per collaborare e non credo si snobbi nessuno.
    Terzo: si suppone che esista anche una vita offline a cui dedicare del tempo...

  9. #9
    sara' che il fatto di vecere che in questo forum segnala 1000 utenti attivi mi aspettavo un postare piu frenetico...
    ma mica biasimo nessuno anzi, questo forum e portale mi piacciono era cosi perchè mi sembtava strano..ma poi ho realizzato che la sezione JS è poco trafficata

    amici come prima?

  10. #10
    guarda, la cosa è molto più semplice di tutto quello che hai scritto ...

    area.onkeyup = function(){this.counter = this.value.length}

    fine ... ogni area con questo metodo avrà una variaile counter contenente i caratteri.

    detto questo, in generale ....

    eh si, spero che nessuno mi abbia risposto solo perchè nn c'era nessuno in grado di rispondere perchè altrimenti mi potrei sentire snobbato
    non è che stiamo tutti qui ad aspettare il tuo di problema, come puoi vedere ce ne sono tanti altri e nessuno ha priorità ... per il resto ti ha già risposto H5N1_Aviaria


    [edit]
    Originariamente inviato da One1ros
    sara' che il fatto di vecere che in questo forum segnala 1000 utenti attivi mi aspettavo un postare piu frenetico...
    ma mica biasimo nessuno anzi, questo forum e portale mi piacciono era cosi perchè mi sembtava strano..ma poi ho realizzato che la sezione JS è poco trafficata
    o forse il problema era banale e (mal) risolto con pile di codice ... tra l'altro se scrivi di ave risolto la gente non perde tempo a risponderti ... hai già risolto, avanti il prossimo ... è così che si fa in un forum
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.