Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema limitazione caratteri

    ho questo script:
    codice:
            <script type="text/javascript">
                function contatore(val) {
                    var max = dimensione.options[dimensione.selectedIndex].value;
                    if (val.testo.value.length > max) {
                        val.testo.value = val.testo.value.substring(0,max);
                        rest = 0;
                    } else {
                        rest = max - val.testo.value.length;
                    }
                    val.num.value = rest;
                }
            </script>
    e questa textarea:
    codice:
            <form action="#" method="post">
                <select id="dimensione">
                    <option value="20">20</option>
                    <option value="85">85</option>
                    <option value="250">250</option>
                </select>
                
    
                <textarea cols="50" rows="5" id="textNews" name="testo" wrap="soft" onkeyup="sostText(); contatore('20');"></textarea>
    ........
    in pratica prende il limite massimo da impostare dal valore scelto nel select.
    io invece vorrei passrgli direttamente il valore senza usare il tag select.
    secondo voi come modifico??

  2. #2
    basta che cambi questa riga nello script da cosi:

    codice:
    var max = dimensione.options[dimensione.selectedIndex].value;
    a cosi:

    codice:
    var max = val;
    e poi quando richiami la funzione gli passi direttamente tu un valore

    altrimenti puoi cambiare cosi e non serve che passi valori alla funzione:

    codice:
    var max = '20';

  3. #3
    ho provato a mettere var max = val; e a passarlgli poi un valore (provato con '20' e con 20), ma nn funziona.
    e purtroppo deve essere parametrizzato per forza.

  4. #4
    ho cambiato lo script in questo modo, l'ho testato e funziona
    per ora ogni volta che finisci di scrivere ti stampa a video il num di caratteri che ti restano da usare e se superi 20 ti tronca la stringa.

    codice:
    <script type="text/javascript">
            function contatore() {
                var max = '20';
                var val = document.getElementById("textNews");
                if (val.value.length > max) {
                    val.value = val.value.substring(0, max);
                    rest = 0;
                } else {
                    rest = max - val.value.length;
                }
                alert(rest);
                //val.num.value = rest;
            }
            </script>

  5. #5
    così funziona anche a me, ma io ho bisogno di parametrizzarlo.

  6. #6
    fatto:
    codice:
            <script type="text/javascript">
                function contatore(val, max) {
                    //var max = dimensione.options[dimensione.selectedIndex].value;
                    if (val.testo.value.length > max) {
                        val.testo.value = val.testo.value.substring(0,max);
                        rest = 0;
                    } else {
                        rest = max - val.testo.value.length;
                    }
                    val.num.value = rest;
                }
            </script>
    bastava parametrizzare anche max!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.