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

    modifica dinamica inserimento testo [replace()]

    Salve a tutti ho bisogno di un aiuto con un form di registrazione. ho bisogno che non vengano inseriti valori differenti ad a-z e quindi togliere dinamicamente gli eventuali spazi, apici o accenti.

    ho provato ad usare un js ma non sono tanto bravo (sono scarsissimo) e non funziona.
    ecco il codice

    codice:
    	<script type="text/javascript" language="JavaScript">
    	
    	function replaceC() {
    risultato = document.gestionecardadmin.Cognome.value;
    	risultato= replace(risultato,"'","") ;
    	risultato= replace(risultato," ","") ;
        risultato = replace(risultato, "à", "a") ;
        risultato = replace(risultato, "è", "e") ;
        risultato = replace(risultato, "é", "e") ;
        risultato = replace(risultato, "ì", "i") ;
        risultato = replace(risultato, "ò", "o") ;
        risultato = replace(risultato, "ù", "u") ; 
        document.gestionecardadmin.Cognome.value = risultato ;
        }
    	function replaceN() {
    risultato = document.gestionecardadmin.Nome.value;
    	risultato= replace(risultato,"'","") ;
    	risultato= replace(risultato," ","") ;
        risultato = replace(risultato, "à", "a") ;
        risultato = replace(risultato, "è", "e") ;
        risultato = replace(risultato, "é", "e") ;
        risultato = replace(risultato, "ì", "i") ;
        risultato = replace(risultato, "ò", "o") ;
        risultato = replace(risultato, "ù", "u") ; 
        document.gestionecardadmin.Nome.value = risultato ;
        }
    </script>
    
    </head>
    <body>
    ....
    .....
    <input type="text" size="20" name="Cognome" onkeyup="replaceC()">
    <input type="text" size="20" name="Nome" onkeyup="replaceN()">
    .....
    ho omesso cio che non fa parte della funzione.
    Se vi puo essere d'aiuto ricevo l'errore "previsto oggetto" appena digito una qualsiasi lettera nel form con l'onkeyup

    Grazie anticipatamento dell'aiuto.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non esiste una funzione replace() ma un metodo dell'oggetto stringa... quindi:

    risultato= riisultato.replace("'","") ;

    ciao
    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
    Grazie mille ora funziona splendidamente!

  4. #4
    mi correggo funziona ma non splendidamente

    per motivi di gestione ho bisogno di inserire

    Nome Cognome = nomecognome@email.it

    nome e cognome nnon hanno controlli o limitazioni (quasi) ma la mail dev'essere senza accenti spazi o altri segni

    con l'aiuto che mi hai dato sono arrivato fino a qua:

    codice:
    <script language="JavaScript">
    <!-- //
    function somma() {
    
    a=document.richiedicardaffiliati.Cognome.value;
    
    b=document.richiedicardaffiliati.Nome.value;
    
    c=a+"."+b+"@bellezzamica.it";
    document.richiedicardaffiliati.Email2.value=c;
    }
    // -->
    </script>
    	<script type="text/javascript" language="JavaScript">
    	
    	function replaceN() {
    risultato = document.richiedicardaffiliati.Email2.value;
    	risultato= risultato.replace("'","") ;
    	risultato= risultato.replace(" ","") ;
        risultato = risultato.replace("à", "a") ;
        risultato = risultato.replace("è", "e") ;
        risultato = risultato.replace("é", "e") ;
        risultato = risultato.replace("ì", "i") ;
        risultato = risultato.replace("ò", "o") ;
        risultato = risultato.replace("ù", "u") ; 
        document.richiedicardaffiliati.Email2.value = risultato ;
        }
    </script>
    ....
    ....
    .....
    <input type="text" size="20" name="Cognome" onkeyup="somma(), replaceN()">
    <input type="text" size="20" name="Nome" onkeyup="somma(), replaceN()">
    
    .....
    <input name="Email2" type='text' size="20" id="Email2">
    Funziona , fa la somma di nome+cognome e corregge i caratteri errati. MA lo fa solo una volta! se inserisco piu di un spazio o altri segni non consentiti toglie solo il primo di ogni sengo non consentito, esempio.

    Cognome: di pasquale
    Nome: di elèè

    DIVENTA: dipasqualedi eleè

    grazie ancora per la pazienza

  5. #5
    Devi usare delle regex; al posto di "ù" ad esempio scrivi /ù/g, e così fai cogli altri.

    risultato = risultato.replace(/ù/g, "u") ;

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.