Visualizzazione dei risultati da 1 a 7 su 7

Discussione: funzioni

  1. #1

    funzioni

    è possibile usare l'argomento di una funzione in un'altra funzione?

    primo esempio :
    function primafunzione(argomento) {
    //contenuto prima funzione
    }
    function secondafunzione() {
    primafunzione(); //lancio la funzione
    window.open(argomento,"","");
    }
    così non funziona, non vede l'argomento e non apre la pagina!

    secondo esempio :
    function primafunzione(argomento) {
    //contenuto prima funzione
    indirizzo=argomento; //creo variabile globale uguale all'argomento
    }
    function secondafunzione() {
    primafunzione(); //lancio la funzione
    window.open(""+indirizzo+"","","");
    }
    non funziona neppure così!!!



    Chi mi aiuta? Per favore o per pietà, grazie.

  2. #2
    'argomento' dovresti definirlo globalmente, prima della definizione delle funzioni:

    codice:
    <script ...>
    var argomento='...';
    
    // funzioni
    ciao

  3. #3

    grazie

    Ti ringrazio per l'aiuto, ma il problema è che 'argomento' è la parte che vorrei fosse variabile e quindi non mi serve assegnare un valore prima dell'entrata in azione della funzione. In sostanza il mio problema è sostituire la finestra di confirm con una creata da me che cambia solo aspetto ma non sostanza.

    Così ho la pagina del link:
    testo

    La pagina javascript:
    function primafunzione(argomento) {
    window.open("conferma.html","","");
    }

    function secondafunzione() {
    primafunzione();
    window.open(argomento,"","");
    }

    e la pagina che chiamo conferma.html che contiene due bottoni: il primo bottone lancia l'azione onclick="secondafunzione()" e l'idea è che apra il link indicato nella prima pagina. Questo link è variabile da pagina a pagina e se devo scriverlo nella pagina javascript significherebbe ripetere il codice ogni volta.

    Se conoscessi il codice della finestra confirm risolverei subito il problema. Perchè confirm cliccando su "ok" passa il valore "true" al codice javascript? In pratica se usassi la finestra confirm basterebbe usare un'unica funzione:

    function primafunzione(argomento) {
    confirm("sei sicuro di entrare?");
    if (confirm==true) {
    window.open(argomento);
    }
    }

    Scusa della lunghezza, ciao.

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    prova così

    codice:
    function primafunzione(argomento) {
    window.open("conferma.html","","");
    return argomento;
    }
    
    function secondafunzione() {
    argomento = primafunzione();
    window.open(argomento,"","");
    }

    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Ti ringrazio per la risposta e per l'idea. Purtroppo non funziona. E' interessante la difficoltà che ho nell'affrontare un problema che non dovrebbe essere difficile: sostituire la finestra di confirm con una disegnata da me che funzioni allo stesso modo.
    Ci sono due punti che non mi sono chiari:
    1) nella "Guida javascript per esempi", lezione 27, è scritto "I parametri vengono indicati all'interno del codice nel punto che ci occorre, e svolgono a tutti gli effetti il ruolo di variabili." Svolgono a tutti gli effetti il ruolo di variabili, ma le variabili le posso utilizzare anche fuori dalla funzione, i parametri a quanto pare no o almeno non con gli stessi metodi.
    2) i bottoni oltre che essere collegati ad eventi -il che mi porta all'utilizzo di due funzioni- possono restituire un valore quando vengono cliccati? (come per esempio gli imput di testo che possono restituire il loro value) A giudicare da quanto scritto nella stessa guida alla lezione 36 "Il confirm restituisce true nel caso in cui l'utente clicchi su ok ..." la risposta dovrebbe essere sì, ma in che modo?
    Ciao.

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da giancarlo75
    Ti ringrazio per la risposta e per l'idea. Purtroppo non funziona. E' interessante la difficoltà che ho nell'affrontare un problema che non dovrebbe essere difficile: sostituire la finestra di confirm con una disegnata da me che funzioni allo stesso modo.
    O usi una confirm (e non puoi modifcare il testo dei pulsanti) oppure usi un overlayer e ci metti dei pulsanti (button) normali

    Ci sono due punti che non mi sono chiari:
    1) nella "Guida javascript per esempi", lezione 27, è scritto "I parametri vengono indicati all'interno del codice nel punto che ci occorre, e svolgono a tutti gli effetti il ruolo di variabili." Svolgono a tutti gli effetti il ruolo di variabili, ma le variabili le posso utilizzare anche fuori dalla funzione, i parametri a quanto pare no o almeno non con gli stessi metodi.
    Devi dichiarare esternamente alle funzione delle variabili con la parola chiave var. A quel punto lo scope della variabile diventa globale

    2) i bottoni oltre che essere collegati ad eventi -il che mi porta all'utilizzo di due funzioni- possono restituire un valore quando vengono cliccati? (come per esempio gli imput di testo che possono restituire il loro value) A giudicare da quanto scritto nella stessa guida alla lezione 36 "Il confirm restituisce true nel caso in cui l'utente clicchi su ok ..." la risposta dovrebbe essere sì, ma in che modo?
    Ciao.
    codice:
    If (confirm('...')) {
      // hai cliccato su ok
    }
    else {
      // hai cliccato su cancel
    }


    Per il codice di prima fai così (anche se posso sbagliarmi ancora, visto che non ne conosco il contesto in cui le usi)

    codice:
    function primafunzione() {
    // qui 'argomento' non ti serve
    window.open("conferma.html","","");
    }
    
    function secondafunzione(argomento) {
    primafunzione();
    window.open(argomento,"","");
    }
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7

    grazie

    Ti ringrazio nuovamente per la disponibilità. Credo che dovrò studiarmi meglio le guide prima di addentrarmi a fare cose un po' diverse. Per ora mi accontento di un confirm. 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.