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

    document.location con più variabili nella barra indirizzi

    Salve a tutti: nella barra degli indirizzi mi compare
    http://../prova.htm?giorgio&franco&giovanni.
    Nella mia pagina importo la stringa, ma non riesco a spezzettare le tre variabili (giorgio,franco,giovanni), il problema sta nella "&".
    questo è quello che ho tentato di scrivere:

    codice:
    <script language="JavaScript" type="text/JavaScript">
    var Locaz = new String(document.location); // creo stringa con l'URL 
    var len = eval(Locaz.length); // lunghezza stringa 
    var pos = eval(Locaz.lastIndexOf("?") + 1); // posizione "?" 
    // posizione "&"  dovrebbe essere la prima ma mi risulta la seconda
    var pos2 = eval(Locaz.lastIndexOf("&") - pos); 
    var pos3 = eval(Locaz.lastIndexOf("&") + 1); // posizione "&" 2à
    var n1 = Locaz.substring(pos , (pos+(pos2-pos)));  // prima var 
    var n2 = Locaz.substring(pos, len);  //2à
    var n3 = Locaz.substring(pos3, len); // 3à
    </script>
    Che ne dite se provo a leggere carattere per carattere con un ciclo for???

    Grazie, ciao.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Che complicato!!!

    Che te ne pare di questo?
    codice:
    var locaz = window.location.search;
    if(locaz.length) locaz = locaz.substr(1); // toglie il ?
    else return false;
    var n = locaz.split(/\&/); // slash backslash ecommerc slash
    // ora la prima variabile sta in n[0], la seconda in n[1], ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    A dire il vero il codice è sintetico, ma in base alla mia conoscenza dovrei studiarlo un pochetto.
    cmq, se io metto tra i tag body:

    document.write("variabile n1= "+n[0]);
    document.write(" variabile n2= "+n[1]);
    document.write(" variabile n3= "+n[2]);

    mi da la finestrina di errore dicendomi che 'n' non è definito, dove sta l'errore???

    Grazie, ciao.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In linea di massima document.write() non e` da usare (ha effetti collaterali).

    Vedi cosa succede prima con queste modifiche:
    codice:
    var locaz = window.location.search;
    alert(locaz);
    if(locaz.length) locaz = locaz.substr(1); // toglie il ?
    else return false;
    alert(locaz);
    var n = locaz.split(/\&/); // slash backslash ecommerc slash
    // ora la prima variabile sta in n[0], la seconda in n[1], ...
    alert("variabili: "+n[0]+"  "+n[1]+"  "+n[2]);
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Si Cavolo!!! funziona!!!
    Però, c'è un però:

    omettendo l'istruzione document.write (ovvero con l'alert) mi da come errore: istruzione return esterna alla condizione;

    omettendo l'istruzione document.write e l'istruzione else return false funziona;

    con document.write omettendo l'istruzione else return funziona;

    con docuement.write e con else return mi restituise 'n' non è definito;

    Spero di averti spiegato bene (visto che spiegare non è mai stato il mio forte) in caso contrario al prossimo post posso riportarti gli script con le relative prove e i relativi risultati.

    Grazie per il tuo aiuto, Ciao.

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    La presenza di un return qualcosa mi porta a sospettare che tu richiami il codice all'interno di una funzione ed in risposta a qualche evento... cioe' a pagina completamente visualizzata.

    Come gia' ti ha detto Mich_ questo non e' possibile.

    Per proporti eventuali alternative dovresti chiarire meglio lo scopo dello script... possibilmente con un link di prova.

    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

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.