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

    [javascript] dati da querystring che non vanno con l'if

    Salve a tutti, ho sette variabili passati da una querystring ...?giovanni&paolo&franco&vittorio&daniela&giusi&c arla
    da cui mi ricavo:
    var1 = giovanni;
    var2 = paolo;
    var3 = franco;
    var4 = vittorio;
    var5 = daniela;
    var6 = giusi;
    var7 = carla;

    ok, adesso se io mi faccio questo script:

    codice:
    if (var1 == "giovanni" && var2 == "paolo" && var3 == "franco"){
       document.write ("un saluto ai miei amici");
    }
    if (var1 == "asha" && var2 == "john" && var3 == "michael")
      document.write ("un saluto ai miei amici inglesi");
    // ovviamente questi tre nomi non sono presenti nella querystring ma 
    // li metto per completare lo script
    }
    if (var4 == "vittorio" && var5 == "daniela"){
       document.write ("un saluto ai miei vicini");
    }
    if (var4 == "marco" && var5 == "candela"){
       document.write ("oggi non vi volgio vedere!");
    // dicesi lo stesso per questo passaggio
    }
    if (var6 == "giusi" && var7 == "carla"){
        document.write ("un saluto alle mie figlie");
    }
    if (var6 == "davide" && var7 == "beppe");
        document.write ("un saluto ai miei generi");
    // anche qui nomi fittizi per chiarire lo "script"
    }
    il problema sta che mi prende solo il risultato delle prime tre variabili, ovvero basandoci alla nostra querystring:

    giovanni&paolo&franco&vittorio&daniela&giusi&carla

    mi da come risultato
    un saluto ai miei amici
    e non
    un saluto ai miei amici
    un saluto ai miei vicini
    un saluto alle mie figlie

    praticamente penso che una volta localizzata la condizione, non va più avanti, come dovrei fare???

    Grazie, ciao.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ricontrolla,
    dopo if (var1 == "asha" && var2 == "john" && var3 == "michael")
    non apri una graffa che però chiudi

    idem qui,
    if (var6 == "davide" && var7 == "beppe")
    dove al posto di { c' è un ;

    la logica è corretta
    ciao

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    C'e' un po' di confusione con le parentesi... ed un ; in piu'

    if (var1 == "giovanni" && var2 == "paolo" && var3 == "franco"){
    document.write ("un saluto ai miei amici");
    }
    if (var1 == "asha" && var2 == "john" && var3 == "michael"){
    document.write ("un saluto ai miei amici inglesi");
    // ovviamente questi tre nomi non sono presenti nella querystring ma
    // li metto per completare lo script
    }
    if (var4 == "vittorio" && var5 == "daniela"){
    document.write ("un saluto ai miei vicini");
    }
    if (var4 == "marco" && var5 == "candela"){
    document.write ("oggi non vi volgio vedere!");
    // dicesi lo stesso per questo passaggio
    }
    if (var6 == "giusi" && var7 == "carla"){
    document.write ("un saluto alle mie figlie");
    }
    if (var6 == "davide" && var7 == "beppe"){
    document.write ("un saluto ai miei generi");
    // anche qui nomi fittizi per chiarire lo "script"
    }

    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

  4. #4
    eh, grazie per le correzioni, sono sempre il solito sbadato
    cmq, lo script, l'ho scritto mano mano che postavo, e quindi i miei soliti errori di distrazione sono sempre presenti.
    Tenete quindi presente che il codice sia giusto, rimane sempre il fatto che l'interprete, legge l'if, e quando si verifica la prima condizione, si ferma.

    il problema sta che mi prende solo il risultato delle prime tre variabili, ovvero basandoci alla nostra querystring:

    giovanni&paolo&franco&vittorio&daniela&giusi&carla

    mi da come risultato
    un saluto ai miei amici
    e non
    un saluto ai miei amici
    un saluto ai miei vicini
    un saluto alle mie figlie
    Se voi insistete nel fatto che lo script vada bene, vi prometto che lo controllerò manualmente riga per riga, visto che l'ho testato tramite debugger di explorer.

    Grazie, ciao.

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se hai
    if(condizione){istruzione}
    else if(altra condizione){altra istruzione}
    chiaramente l' una esclude l' altra e, se verificata, verrà eseguita solo un' istruzione

    ma se non hai else tutte le condizioni vengono provate e, se verificate, le istruzioni presenti in quei rami verranno eseguite

    quindi prova e se ci sono ancora problemi fornisci in maniera precisa il codice

  6. #6
    Ciao, guarda, potrà sembrarti strano, anche a me lo sembra, ma lo script non funziona, eppure la teoria è quella che mi hai spiegato te nel post precedente, cmq vi metto a disposizione il link con i sorgenti della pagina, ma vi chiedo prima come posso metterli a disposizione: se tramite un file zippato, o postando tutto il codice html della pagina (è quasi tutto in javascript).

    Grazie Ciao.

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    è + pratico pubblicare la pagina e postare qui il link
    se proprio non puoi posta tutto il codice

  8. #8
    ecco, questo è il link:

    http://www.calabriainvacanza.com/fla...ngiovannifiore

    questo è il sorgente:
    i puntini sospensivi sono parti tagliate che non servono.

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Itinerario Calabrese</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    <script language="JavaScript" type="text/JavaScript">
    var locaz = window.location.search;
    if(locaz.length) locaz = locaz.substr(1); 
    var n = locaz.split(/\&/); 
    var part = n[0];
    var prov = n[1];
    var dest = n[2];
    var dest2 = n[3];
    var prov2 = n[4];
    var dest3 = n[5];
    var prov3 = n[6];
    
    alert("variabili: "+n[0]+"  "+n[1]+"  "+n[2]+" "+n[3]+" "+n[4]+" "+n[5]+" "+n[6]);
    
    </script>
    </head>
    
    <body>
    
    
    [img]Logo.gif[/img]</p>
    Visualizza Cartine Geografiche 
    Visualizza foto caratteristiche
    
    
    <script language="javascript">
    
    	
    	
    	if (part == "danord" && dest == "cosenza" && prov == "sarc") {
    		document.write("<h3>Si attraversa ...</h3>");
    	}
    	if (part == "danord" && dest == "cosenza" && prov == "ss106") {
    		document.write("<h3>Si possono scegliere ...</h3>");
    		
    	}
    	if (part == "danord" && dest == "cosenza" && prov == "fsadriatica") {
    		document.write("<h3>Arrivando dalla Basilicata ...</h3>");
    		
    	}
    	if (part == "danord" && dest == "cosenza" && prov == "fstirrenica") {
    		document.write("<h3>Si attraversa ...</h3>");
    		
    	}
    	
    	if (part == "danord" && dest == "crotone" && prov == "sarc") {
    		document.write("<h3>Si ...</h3>");
    		
    	}
    	if (part == "danord" && dest == "crotone" && prov == "ss106") {
    		document.write("<h3>Si ...</h3>");
    		
    	}
    	if (part == "danord" && dest == "crotone" && prov == "fsadriatica") {
    		document.write("<h3>...</h3>");
    		
    	}
    	if (part == "danord" && dest == "crotone" && prov == "fstirrenica") {
    		document.write("<h3>Il ...</h3>");
    		
    	}
    	
    	
    	if (part == "dasud" && dest == "cosenza" && prov == "ss106") {
    		document.write("<h3>Partendo ...</h3>");
    		
    	}
    	if (part == "dasud" && dest == "cosenza" && prov == "sarc") {
    		document.write("<h3>Lungo ...</h3>");
    		
    	}
    	if (part == "dasud" && dest == "cosenza" && prov == "fstirrenica") {
    		document.write("<h3>Lungo...</h3>");
    		
    	}
    	if (part == "dasud" && dest == "cosenza" && prov == "fsadriatica") {
    		document.write("<h3>Arrivando ...</h3>");
    		
    	}
    	
    	if (part == "dasud" && dest == "crotone" && prov == "sarc") {
    		document.write("<h3>Lungo ...</h3>");
    		
    	}
    	if (part == "dasud" && dest == "crotone" && prov == "ss106") {
    		document.write("<h3>Provenendo .. ( se la ricerca contuinua )...</h3>");
    		
    	}
    	if (part == "dasud" && dest == "crotone" && prov == "fsadriatica") {
    		document.write("<h3>Provenendo ...</h3>");
    		
    	}
    	if (part == "dasud" && dest == "crotone" && prov == "fstirrenica") {
    		document.write("<h3>Lungo ...</h3>");
    		
    	}
    
    </script>
    
    
    <script language="javascript">
    	
    if (dest2 == "sangiovannifiore" && prov2 == "crotone") {
    		document.write (" Provenendo... ");
    		}
    	if (dest2 == "sangiovannifiore" && prov2 == "cosenza") {
    		document.write(" Proseguire ");
    	}
    </script>
    
    
    <script language="javascript">
    
    	
    
    	if (dest3 == "caccuri" && prov3 == "crotone") {
    		document.write("\n Proseguire, ...");
    	}
    	if (dest3 == "serragrande" && prov3 == "crotone") {
    		document.write("\n Svoltare per ...");
    	}
    	if (dest3 == "naturainsieme" && prov3 == "crotone") {
    		document.write("\n  Al bivio di ...");
    	}
    	if (dest3 == "castelsilano" && prov3 == "crotone") {
    		document.write("\n Proseguire fino ...");
    	}
    	if (dest3 == "canciumati" && prov3 == "crotone") {
    		document.write("\n ...");
    	}
    	
    	if (dest3 == "caccuri" && prov3 == "sangiovannifiore") {
    	document.write("\n Proseguire...");
    	}
    	if (dest3 == "serragrande" && prov3 == "sangiovannifiore" ) {
    		document.write("\n Continuare ...");
    	}
    	if (dest3 == "naturainsieme" && prov3 == "sangiovannifiore") {
    		docuemnt.write("\n Continuare fino...");
    	}
    	if (dest3 == "canciumati" && prov3 == "sangiovannifiore") {
    		docuement.write("\n Proseguire fino ...");
    	}
    	if (dest3 == "castelsilano" && prov3 == "sangiovannifiore") {
    		document.write("\n Proseguire fino allo");
    	}
    	
    	if (dest3 == "caccuri" && prov3 == "cosenza") {
    		document.write("\n Proseguire fino allo...");
    	}
    	if (dest3 == "serragrande" && prov3 == "cosenza" ) {
    		document.write("\n Continuare per ...");
    	}
    	if (dest3 == "naturainsieme" && prov3 == "cosenza") {
    		document.write("\n Continuare fino ...");
    	}
    	if (dest3 == "canciumati" && prov3 == "cosenza") {
    		document.write("\n Proseguire fino al...");
    	}
    	if (dest3 == "castelsilano" && prov3 == "cosenza") {
    		document.write("\n Proseguire fino allo...");
    	}
    </script>
    </body>
    </html>
    aiutatemi perpiacere sto sclerando.
    Grazie, ciao.

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    io sono fuso a quest' ora, ma mi sembra funzioni
    se carico x es. questo
    http://www.calabriainvacanza.com/fla...ifiore&cosenza

    ho 2 blocchi stampati a video, come previsto


    nel link che hai postato tu ne scrive uno perchè non esiste la combinazione
    if (dest2 == "cosenza" && prov2 == "sangiovannifiore") {
    mentre esiste
    if (dest2 == "sangiovannifiore" && prov2 == "cosenza") {

    fatti un favore, inizia col passare assegnazioni var=valore e non ricavandole per posizione
    almeno eviti errori del genere
    (se cerchi tra script/discussioni utili dovrebbero esserci un paio di esempi sull' estrazione delle coppie da querystring)
    ciao

  10. #10
    porca miseria xinod, mi sento un cretino
    ho passato nottate e nottate a controllare punti e virgole o virgolette su asp e adesso mi sono fatto buttare giù da questa stupidagine, meno male che almeno mi ha corretto un moderatore, altrimenti non mi sarei piu collegato.
    Grazie, te ne sono riconoscente, mi hai tolto un bel peso; cmq per quanto riguarda le querystring, visto che sul testo che avevo io facevano pochi esempi e soprattutto sciocchi, ho fatto una bella ricerca sul forum, e l'aiuto più accettabile e che mi sembrava più indicativo è stato quello su cui ho postato, poi, la dimenticanza, è stata mia che ho scritto senza pensare a che stavo facendo.

    Grazie, ciao.

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.