Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di pip19
    Registrato dal
    Dec 2001
    Messaggi
    512

    passare variabili da una funzione all'altra

    ho una funzione

    function mia() {
    var TA = document.form1.TA.value;
    var CA = document.form1.CostoAcquisto.value;

    if (TA=='S') {
    var tot1 = CA + ((CA*20)/100)
    }
    CalcValCont(tot1)
    }

    e vorrei passare la variabile TOT1 all'altra funzione, solo che cosi' mi va in errore


    function CalcValCont(tot1){

    if (AA==0) {
    var tot = tot1+CA+750;
    }
    }


    potete aiutarmi??

    Ciao!

  2. #2

    Re: passare variabili da una funzione all'altra

    quello che fa per te è la programmazione ad oggetti JavaScript, in questo modo puoi fare riferimento alle tue variabili (d'istanza) con this.CA

    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  3. #3
    Utente di HTML.it L'avatar di pip19
    Registrato dal
    Dec 2001
    Messaggi
    512
    bhè, almeno potresti rispondere alla mia domanda

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188

    Re: passare variabili da una funzione all'altra

    Originariamente inviato da pip19
    ho una funzione

    ....
    e vorrei passare la variabile TOT1 all'altra funzione, solo che cosi' mi va in errore

    ...
    potete aiutarmi??

    Ciao!
    La cosa sembra corretta, ma ci puo` essere il caso in cui tot1 non e` definito (se TA e` diverso da 'S').

    Per cui la prima funzione andrebbe modificata:
    codice:
    function mia() {
      var TA = document.form1.TA.value;
      var CA = document.form1.CostoAcquisto.value;
      var tot1 = 0;
      
      if (TA=='S') {
        tot1 = CA + ((CA*20)/100);
      }
      CalcValCont(tot1)
    }
    Ricorda anche che JS e` case-sensitive.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    ho convertito il tutto in un oggetto, prova vedere se ti funzia.

    codice:
    <script language="JavaScript" type="text/JavaScript">
    function Oggetto_mia() { 
    var TA = document.form1.TA.value; 
    var CA = document.form1.CostoAcquisto.value; 
    	if (TA=='S') { 
    		var tot1 = CA + ((CA*20)/100) 
    	} 
    this.CA = CA; // setti CA come variabile d'istanza perchè ti serve nell'altro metodo! 
    				// (gliela potresti anche passare come argomento)
    this.CalcValCont(tot1); //(this davanti a CalcValCont è opzionale)
    } 
    
    function Oggetto_CalcValCont(tot1){ 
    	if (AA==0) { 
    		var tot = tot1 + this.CA + 750; // richiami CA, proprietà dell'oggetto, con this.CA
    	} 
    } 
    
    function Oggetto(){
    	this.CalcValCont = CalcValCont;
    	this.mia = mia;
    }
    
    // nel modo seguente istanzio l'oggetto e lancio le mie funzioni (metodi)
    var mioOggetto = new Oggetto();
    mioOggetto.mia();
    
    </script>
    come vedi PRIMA definisco i metodi con quella strana sintassi nomeoggetto_nomemetodo, l'underscore è obbligatorio.
    poisetto la funzione per così dire "contenitore" ed all'interno di essa richiamo tutte le funzioni precedentemente definite con this.nomemetodo = nomefunzione;
    che significa "guarda che il metodo di questo (this) oggetto che si chiama nomemetodo è la funzione nomefunzione".
    quindi potrei anche scrivere this.pippo = topolino;, basta che la funzione topolino sia stata precedentemente definita ed essa diverrà il metodo pippo del mio oggetto.
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

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.