Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Controllo Textarea

  1. #1

    Controllo Textarea

    Salve mi servirebbe fare un controllo in una textarea
    questo controllo dovrebbe impedire di inserire il carattere parentesi quadra piu di dieci volte
    e possibile fare una cosa del genere su una textarea....
    se si i potreste indicare dove poso trovare qualcosa che faccia a caso mio da poter studiare e poterlo realizzare
    grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La cosa si fa semplicemente con le regexp.

    Ora non so come sia la sintassi che vuoi trovare (caratteri compresi tra [], [] senza nulla dentro, [ oppure ], ...).

    Questo codice da` errore se ci sono piu` di 10 caratteri quadraaperta:

    var cont = document.NOMEFORM.NOMECAMPO.value;
    var rex = new RegExp (/(.*\[.*){11,}/, g);
    if(rex.test(cont)) {
    alert("ci sono troppe quadre");
    return false;
    }

    provalo, perche` non sono ancora molto forte con le regexp

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    In primo luogo ti ringrazio per l'interessamento pero non da i risultati voluti pero non so dirti se dipenda da me o dallo script

    ho fatto cosi :
    codice:
    function quadre()
    { 
    var cont = document.form.corpo.value; 
    var rex = new RegExp (/(.*\[.*){11,}/, g); 
    if(rex.test(cont)) { 
    alert("Attenzione non puoi inserire piu di 10 faccine nello stesso messaggio"); 
    return false; 
    } 
    }
    che ho richiamato nel form in questo modo
    codice:
    <form name="form" action="#" method="post" style="margin:0" onSubmit="quadre()">
    ma non fungge
    grazie ancora

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    C'e` un errore (il nome form e` riservato e non puo` essere il nome di un form), ma non credo sia per quello che non va.

    Manca il return nella chiamata (e questo permette il submit anche in presenza di errore)

    Potresti pero` dire cosa fa lo script? Lascia passare tutto, si blocca sempre, lancia l'alert ma poi prosegue, ...

    Modifica pero` in questo modo:

    function quadre(ff) {
    var cont = ff.corpo.value;
    var rex = new RegExp (/(.*\[.*){11,}/, g);
    if(rex.test(cont)) {
    alert("Attenzione non puoi inserire piu di 10 faccine nello stesso messaggio");
    return false;
    }
    }

    Che dovrai chiamare con:
    <form name="form1" action="#" method="post" style="margin:0" onSubmit="return quadre(this);">

    Se ancora non va, togli la graffa (completamente) dalla regexp, e dimmi come si comporta:
    var rex = new RegExp (/(.*\[.*)/, g);

    Dovrebbe impedire qualsiasi quadra nella textarea.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Ancora grazie...
    Allora al submit passa cmq senza alert o niente
    o provato a togliere la graffa ma non cambia cmq passa sempre
    grazie ancora

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    l'hai messo il return nella chiamata?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    si ho messo tutto....
    pero non fa niente

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    A questo punto occorre isolare il problema. occorre cioe` verificare se e` un problema della RE oppure un problema nella logica dello script.

    Prova a cambiare la RE cosi`:
    var rex = new RegExp (/a/, g);

    poi inserisci qualcosa nella textarea, che contenga la lettera a e vedi cosa risponde.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Non so piu come ringraziarti.....
    Allora ho fato come hai detto ma mi ha fatto passare indene il controllo...
    questo e lo script
    codice:
    <script language="javascript">
    function quadre(ff) { 
    var cont = form1.corpo.value; 
    var rex = new RegExp (/a/, g); 
    if(rex.test(cont)) { 
    alert("Attenzione"); 
    return false; 
    } 
    } 
    </script>
    richiamato sempre cosi :
    codice:
    <form name="form1" action="#" method="post" style="margin:0" onSubmit="return quadre(this);">
    ancora grazie

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non so piu` come dirti le cose.

    Neanche a darti tutto lo script lo implementi corretto.

    L'oggetto form1 (senza document. davanti) non esiste nella maggior parte dei browser (solo in IE, credo).

    Ma io ti avevo detto di scrivere ff nella funzione!!
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.