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

    Limite minimo e massimo textarea

    Salve a tutti,
    avrei gentilmente un problema da risolvere e confido gentilmente in voi per una soluzione

    Ho impostato una textarea con l'evento onkeyup, onkeydown. Vorrei fare in modo che venga segnalato il coutdown dei caratteri (proprio come impostato attualmente dallo script) ma allo stesso tempo che venisse considerato come limite minimo, non bloccando quindi il testo in eccesso.

    Mi spiego meglio, il contatore da 300 arriva a 0 e poi permette comunque di continuare a scrivere del testo. In pratica 300 (con coutdown visibile) deve essere il limite minimoe non il massimo.

    Ecco il codice della textarea:
    codice:
    <textarea name="bodytext" rows="10" cols="60" id="bodytext" WRAP=SOFT onkeyup="if(this.form.summarycheckbox.checked == false) {this.form.summarytext.value = this.form.bodytext.value.substring(0, 300);};" onKeyDown="textCounter(this.form.bodytext,this.form.remLen, 300);">{$submit_content}</textarea>
    
    <input readonly type=text name=remLen size=3 maxlength=3 value="300">Limite minimo: 300 caratteri.
    Qui di seguito la funzione che effettua il coutdown:
    codice:
    <script type="text/javascript">
    function textCounter(field, countfield, maxlimit) {
    		if (field.value.length > maxlimit) // if too long...trim it!
    			field.value = field.value.substring(0, maxlimit);
    			// otherwise, update 'characters left' counter
    		else 
    			countfield.value = maxlimit - field.value.length;
    	}    
    </script>
    Attendo un vostro utile consiglio

    Grazie e buona giornata a tutti!
    News In Web - il social news per tutti
    --> https://www.newsinweb.net <--

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    <script type="text/javascript">
    function textCounter(field, countfield, maxlimit) {
    	var conta = (maxlimit - field.value.length);
    	if(conta<=0){
    			countfield.value = 0;
    			document.getElementById('minimo').className='min';
    			document.getElementById('minimo').innerHTML='Limite minimo: 300 caratteri raggiunto.';
    			
    	}else{
    		countfield.value = conta;
    		document.getElementById('minimo').className='default';
    		document.getElementById('minimo').innerHTML='Limite minimo: 300 caratteri.';
    		
    }
    }    
    </script>
    <style type="text/css">
    .min{
    	color: #990;
    	font-weight: bold;
    }
    #minimo{
    	font-size: 12px;
    	float: left;
    	font-family: Verdana, Geneva, sans-serif;
    	font-size: 12px;
    	float:left;
    }
    .default{color:#C00;font-weight:normal;}
    </style>
    </head>
    
    <body>
    <div id="main">
    <form action="" method="get"><textarea name="bodytext" rows="10" cols="60" id="bodytext" onkeyup="textCounter(this,this.form.remLen,300);" "></textarea>
    
    <input readonly="readonly" type="text" name="remLen" size="3" maxlength="3" value="300" style="float:left;"><div id="minimo" class="default">Limite minimo: 300 caratteri.</div></form>
    </div>
    </body>
    </html>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Grazie Cavicchiandrea per l'efficace risposta,
    è tutto ok ma ora occorrerebbe limitare l'inserimento massimo di caratteri.

    Grazie ancora e buona giornata
    News In Web - il social news per tutti
    --> https://www.newsinweb.net <--

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.