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

    Passare variabili a funzione

    Salve a tutti!
    Ho qualche problemuccio sul passare delle variabili in una funzione...
    Nell'esempio di questa funzione:

    codice:
    function miafunzione(variabile){
    	form=document.modulo;
    	if(variabile=='bau'){
    		test1=form.campo_primo;
    		test2=form.campo_secondo;
    	}
    	else{
    		test1=form.campo_secondo;
    		test2=form.campo_primo;
    	}
    
    
    var valori="";
    for(var k=0;k<form.elements['campo_secondo'].length;k++){
    var valori=valori+form.elements['campo_secondo'][k].value +"-";
    }
    form.campo.value=valori;
    }
    che richiamo con onClick="miafunzione('bau');" e non ho problemi, tutto funziona....
    Ma io vorrei richiamarla cosi: onClick="miafunzione('bau','campo','campo_primo',' campo_secondo');"

    ed avere una funzione del tipo:
    codice:
    function miafunzione(variabile,variabile_a,variabile_b,variabile_c){
    	form=document.modulo;
    	if(variabile=='bau'){
    		test1=form.variabile_b;
    		test2=form.variabile_c;
    	}
    	else{
    		test1=form.variabile_c;
    		test2=form.variabile_b;
    	}
    
    
    var valori="";
    for(var k=0;k<form.elements['variabile_c'].length;k++){
    var valori=valori+form.elements['variabile_c'][k].value +"-";
    }
    form.variabile_a.value=valori;
    }
    Perchè non mi va?
    Come potrei sistemarla?
    What is the |\/|atrix?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Non ci scommetterei troppo vista l'ora di pranzo (e quando ho fame nn ragiono benissimo) però prova questa:

    codice:
    function miafunzione(variabile,variabile_a,variabile_b,variabile_c){
    	form=document.modulo;
    	if(variabile=='bau'){
    		test1= eval("form."+variabile_b);
    		test2= eval("form."+variabile_c);
    	}
    	else{
    		test1=eval("form."+variabile_c);
    		test2=eval("form."+variabile_b);
    	}
    
    
    var valori="";
    for(var k=0;k<form.elements[variabile_c].length;k++){
    var valori=valori+form.elements[variabile_c][k].value +"-";
    }
    eval("form."+variabile_a+".value") = valori;
    }



    EDIT se non va magari ci rprovo dopo pranzo...
    Vuoi aiutare la riforestazione responsabile?

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

  3. #3
    Facendo così mi da questo errore:
    Impossibile assegnare al risultato di una funzione
    Comunque ho risolto usando elements(variabile)
    Grazie lo stesso!
    Ciao
    What is the |\/|atrix?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Certo che se date alla variabile il nome "form" ...
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.