Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Metodo di ordinamento

  1. #1

    Metodo di ordinamento

    Qualcuno può aiutarmi a creare un programma che, dati in input dei nomi, li ordini in ordine alfabetico?..

  2. #2
    Guarda che javascript ha gia' una sua funzione di ordinamento per gli oggetti Array. Il metodo sort().

    Ad esempio

    var myarray=["Bob","Bully","Amy"]
    myarray.sort() //Array now becomes ["Amy", "Bob", "Bully"]

    Basta riempire l'array coi valori presi dai campi

  3. #3
    scusa ma ho appena iniziato ad utilizzare javascript..potresti farmi un piccolo esempio di programma?..

  4. #4
    Beh, quello che trovi sopra e' proprio un piccolo esempio di programma.

    Se vuoi di piu' dammi quanche dettaglio, pero'.

    Cosa deve mostrare la pagina esattamente? Ci deve essere un campo in cui inserire i nomi? Separati da virgola, tipo? Oppure un campo per ogni nome? E poi...?

  5. #5
    Allora io dovrei dare in input una serie di nomi e il programma dovrebbe restituire in output la lista in ordine alfabetico..

  6. #6
    E fin li c'ero arrivato.

    E per farlo bastano le due righe di codice che vedi sopra.

    Ma dal punto di vista dell'interfaccia grafica?

    Comunque prova questo

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1250">
      <title></title>
      <script type="text/javascript">
      function ordina()
      {
        elenco_nomi=document.getElementById("nomi").value.split(";");
        elenco_nomi.sort();
        document.getElementById("nomi_ordinati").innerHTML = "";
        for(var i=0; i<elenco_nomi.length; i++)
            document.getElementById("nomi_ordinati").innerHTML += elenco_nomi[i] + " ";
      
      }
      
      </script>
      
      </head>
      <body>
       <form>
       Inserisci i nomi separati da punto e virgola senza spazi
    
       <input type="text" id="nomi"> 
    
       <input type="button" name="Ordina" Value="Ordina" onclick="ordina()">
    
       
       </form>
       <div type="text" id="nomi_ordinati"></div>
      </body>
    </html>

  7. #7
    Mi fa inserire i nomi ma non mi rilascia l'output ..

  8. #8
    L'ho appena provato sotto FF e va.

    Assicurati di aver copiato bene.

    In questo momento non ho modo di provarlo sotto IE ma non vedo perche' non dovrebbe andare (ma con IE non si sa mai...)

  9. #9
    Adesso funziona.. questa mattina ero con Vista e forse era per quello che non funzionava..

    Se non ti scoccia potresti spiegarmi la logica dei comandi della funzione ordina?..

  10. #10
    Originariamente inviato da Samu89
    Adesso funziona.. questa mattina ero con Vista e forse era per quello che non funzionava..
    mi pare strano...

    Se non ti scoccia potresti spiegarmi la logica dei comandi della funzione ordina?..
    Codice PHP:
    function ordina()
      {
        
    // Prendo l'elemento che si chiama "nomi"
        // Ne prendo l'attributo value (cioe' il valore di quello che ci scrivi dentro)
        // Applico la funzione "split" che mi restituisce un array dividendo la stringa in base al carattere punto e virgola che gli passo come argomento
        
    elenco_nomi=document.getElementById("nomi").value.split(";");
        
    // Ordino l'array
        
    elenco_nomi.sort();
        
    // Prendo il DIV che si chiama "nomi_ordinati" e lo svuoto a titolo precauzionale
        
    document.getElementById("nomi_ordinati").innerHTML "";
        
    // Faccio un ciclo for sull'array e inserisco i nomi a uno a uno nel DIV sopracitato
        
    for(var i=0i<elenco_nomi.lengthi++)
            
    document.getElementById("nomi_ordinati").innerHTML += elenco_nomi[i] + " ";
      
      } 

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.