Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    54

    [javascr] problema principiante

    Sono un principiante, devo creare un micro-dizionario costituito da un array con parola e traduzione nella stesa stringa, quando nel campo di testo di un modulo viene inserita la parola devo dare la traduzione o nel caso in cui la parola non sia presente chiedere all'utente se la conosce e aggiungerla (parola+traduz) all'array principale.
    Il problema è che non so come trovare la corrispondenza tra il testo scritto dall utente e la prima parte della stringa:

    var parole = ["just:solo","a:un","test:test"];
    wordsep=":";
    arnr=0;
    parole[arnr]='alfa'+wordsep+'beta';
    wordsearch='alfa';
    word=parole[arnr].split(wordsep);

    fin qua va bene?
    Poi che faccio?

    Grazie

    Ciao!

    H

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Ciao, ecco un esempio completo. Ovviamente personalizzalo/completalo come vuoi!

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Traduttore</title>
    <script type="text/javascript">
    <!--
    var arr_parole = new Array ("cat=gatto", "dog=cane", "hello=ciao");
    
    function traduzione()
    {
        str_input = document.form1.inp.value;
        trovato = false;
        document.form1.out.value = "";
    
        for (i=0; i<arr_parole.length; i++)
        {
            parola = arr_parole[i];
    
            if ((idx = parola.indexOf ("=")) != -1)
            {
                if (str_input == parola.substring (0, idx))
                {
                    document.form1.out.value = parola.substring (idx+1);
                    trovato = true;
                    break;
                }
            }
        }
    
        if (!trovato)
            alert ("Parola non trovata");
    
        document.form1.inp.focus ();
    
        return false;
    }
    //-->
    </script>
    </head>
    <body>
    
    <form name="form1" action="" onsubmit="return traduzione()">
    
    
    
    <input name="inp" type="text" size="20">
    
    
    <input name="out" type="text" size="20">
    
    
    <input type="submit" value="Traduci">
    </p>
    </form>
    
    </body>
    </html>
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Il linguaggio JavaScript non è trattato nel forum di Programmazione.

    Sposto la discussione nel forum appropriato.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    54
    scusate non avevo visto il forum per javascript, grazie mille per il codice
    devo aggiungere ancora una parte: se la parola non viene trovata devo chiedere all'utente se la conosce e se sì gliela devo far scrivere e aggiungere (sia la parola che la traduzione) all'array delle parole, pensavo di usare il metodo push (ma non so bene come fare)

    Grazie ancora

    ciao!

    H

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da heifetz
    devo aggiungere ancora una parte: se la parola non viene trovata devo chiedere all'utente se la conosce e se sì gliela devo far scrivere e aggiungere (sia la parola che la traduzione) all'array delle parole, pensavo di usare il metodo push (ma non so bene come fare)
    Il metodo push() dell'oggetto Array non è ben supportato da tutti i browser. È meglio fare:

    arr[arr.length] = nuovo_elemento;
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    54
    ok ma con arr[arr.length] = nuovo_elemento; aggiungo solo la traduzione immessa dall utente,no?

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da heifetz
    ok ma con arr[arr.length] = nuovo_elemento; aggiungo solo la traduzione immessa dall utente,no?
    Devi ovviamente inserire nell'array una stringa (come nel mio esempio) nel formato: "word=parola". Come richiedere la parola .... dipende. Se non trovi la traduzione la puoi richiedere all'utente usando il metodo prompt(). A quel punto metti insieme le 2 stringhe con il separatore e inserisci il tutto nell'array.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.