Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544

    Contacaratteri conta giusto ma sbaglia

    Questo codice conta i caratteri e mostra a ritroso i caratteri mancanti, lui conta giusto anche gli spazi e gli "a capo", ma se poi invio lui poi fa uscire l'alert "MESSAGGIO: max 100 caratteri". Questo succede solo se vado a capo in manuale.

    Forse conta gli "a capo" senza conteggiarli veramente?

    codice:
    if (strlen($messaggioS) > 100) { 
    echo "MESSAGGIO: max 100 caratteri";
    }
    
    ...
    
    function contaS(el) {
    var max_char = 100; // Limite massimo di caratteri consentiti
    var conta_caratteri = el.value.length;
    if(conta_caratteri >= max_char) {
    conta_caratteri = max_char;
    el.value = el.value.substring(0, max_char);
    }
    document.getElementById("ContatoreS").innerHTML = max_char - conta_caratteri;
    if(max_char - conta_caratteri > 50) {  // Da 50 in su il contatore ridiventa #666666
    document.getElementById("charCountS").className = 'defaultS';
    document.getElementById("charCount1-S").className = 'defaultS';
    document.getElementById("ContatoreS").className = 'formattaNumeroS';
    }
    }

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ma se lo script javascript conta giusto (l'hai detto tu) cosa vuoi da noi?

    Comunque gli "a capo" manuali sono conteggiati un carattere sul client, ma probabilmente vengono trasformati in CR+LF sul tuo server...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da br1
    Ma se lo script javascript conta giusto (l'hai detto tu) cosa vuoi da noi?

    Comunque gli "a capo" manuali sono conteggiati un carattere sul client, ma probabilmente vengono trasformati in CR+LF sul tuo server...
    Quando arriva a zero e invio esce l'alert php, ciò vuol dire che per lui ho superato il limite massimo

    Codice PHP:
    if (strlen($messaggioS) > 100) { 
    echo 
    "MESSAGGIO: max 100 caratteri";


  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Ht28
    Quando arriva a zero e invio esce l'alert php, ciò vuol dire che per lui ho superato il limite massimo

    Codice PHP:
    if (strlen($messaggioS) > 100) { 
    echo 
    "MESSAGGIO: max 100 caratteri";

    Appunto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da br1
    Appunto
    Appunto cosa?

    Se hai ben visto, nel primo post ho messo anche il codice js che blocca l'inserimento oltre i 100

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Appunto è un problema php non js, attendi il trasferimento sul forum adeguato
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Come potrebbe il js contare un carattere che non c'e'?

    Ti sposto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739

    Re: Contacaratteri conta giusto ma sbaglia

    Originariamente inviato da Ht28
    Questo codice conta i caratteri e mostra a ritroso i caratteri mancanti, lui conta giusto anche gli spazi e gli "a capo", ma se poi invio lui poi fa uscire l'alert "MESSAGGIO: max 100 caratteri". Questo succede solo se vado a capo in manuale.

    Forse conta gli "a capo" senza conteggiarli veramente?

    codice:
    if (strlen($messaggioS) > 100) { 
    echo "MESSAGGIO: max 100 caratteri";
    }
    
    ...
    
    function contaS(el) {
    var max_char = 100; // Limite massimo di caratteri consentiti
    var conta_caratteri = el.value.length;
    if(conta_caratteri >= max_char) {
    conta_caratteri = max_char;
    el.value = el.value.substring(0, max_char);
    }
    document.getElementById("ContatoreS").innerHTML = max_char - conta_caratteri;
    if(max_char - conta_caratteri > 50) {  // Da 50 in su il contatore ridiventa #666666
    document.getElementById("charCountS").className = 'defaultS';
    document.getElementById("charCount1-S").className = 'defaultS';
    document.getElementById("ContatoreS").className = 'formattaNumeroS';
    }
    }
    Per quel che attiene php, devi tener presente che strlen non ritorna il numero di caratteri della stringa, ma il numero di byte occupati dalla stringa. Nel caso di una codifica ASCII hai una corrispondenza 1 a 1. Nel caso di codifiche multibyte come UTF-8, occorre fare uso delle funzioni mb_****** come mb_strlen.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

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.