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

    Confronto variabile con array

    come si fa a confrontare un nome inserito dall'utente con un un array
    tipo se il nome inserito dall'utente è in elenco fai un azione oppure ne fai un altra

    codice:
    <script>
    mioarray=new Array('filippo','pasquale','luigi');
    
    function confronta(){
    pippo=mioform.nome.value;
    
    if(pippo==mioarray) {
    alert("presente");
    
    }else{
    alert("non in elenco");
    }
    }
    
    </script>
    
    <form name="mioform">
    <input type="text" name="nome">
    <input type="button" onclick='confronta()' value='confronta'>
    </form>
    grazie
    by Avv. Robert Stuart
    il mio sito preferito

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Per confrontare un array devi scorrerla con un ciclo for:
    codice:
    <script>
    var mioarray=new Array('filippo','pasquale','luigi');
    
    function confronta(){
    var pippo= document.mioform.nome.value;
    for(var i=0; i<mioarray.leangth; i++){
    if(pippo==mioarray[i]) {
    alert("presente");
    
    }else{
    alert("non in elenco");
    }
    }
    }
    </script>
    A) Quando assegni una variabile meglio precederla da var
    B) Usa una sintassi "completa" document.nomeForm.nomeElemento.attributo le forme "contratte" nomeForm.nomeElemento.attributo non è riconosciuta da tutti i browser, meglio ancora sarebbe usare il DOM
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Potresti anche fare il join dell'array e cercare la stringa con una regexp.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  4. #4

    Ciao grazie per la risposta

    il ciclo for l'avevo già messo e poi l'ho tolto perchè mi risponde con le altre voci...
    il primo "presente" e gli altri "non presente"

    la finestra di alert si deve aprire una volta sola...
    by Avv. Robert Stuart
    il mio sito preferito

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    codice:
    <script>
    
    function confronta(){
    var mioarray = new Array("filippo","pasquale","luigi");
    var pippo = document.mioform.nome.value;
    var valido = false;
    for(var i=0; i<mioarray.length; i++){
    if(pippo==mioarray[i]) {
    valido=true;
    }
    }
    if(valido){alert("presente")}else{alert("non in elenco")};
    }
    </script>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6

    Perfetto! - Ci voleva la variabile booleana

    ora funziona correttamente.

    Grazie Andrea!
    by Robert
    by Avv. Robert Stuart
    il mio sito preferito

  7. #7
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    var mioarray=new Array('filippo','pasquale','luigi');
    
    function esiste (nome) { return mioarray.indexOf(nome) > -1; }
    
    alert(esiste("filippo"));

  8. #8

    ok. Funziona anche così

    grazie carlomarx
    alla prossima
    by Avv. Robert Stuart
    il mio sito preferito

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 © 2024 vBulletin Solutions, Inc. All rights reserved.