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

    [MX2004] Funzione con ciclo for

    Ho un menu dinamico con 5 pulsanti.
    A seconda dei casi, i pulsanti possono essere in numero da 0 a 5.

    Voglio creare una funzione che controlli di volta in volta il campo di testo dinamico di ogni pulsante. Se il campo è vuoto, l'area sensibile del pulsante deve essere disabilitata.

    codice:
    function cancellaMenu() {
    	for(i=6; i>0; i--) { //siccome i pulsanti sono 5
    		newMenu = "menuA" add i; //il nome del pulsante: menuA1, menuA2, ...
    		if(newMenu.nomeClip.nome == "") { //se il campo di testo è vuoto
    			newMenu.puls.enabled = 0; //disabilita l'area sensibile, che si chiama "puls"
    		}
    	}
    }
    ... ma non sembra funzionare. I pulsanti rimangono abilitati.
    Voi vedete errori di sintassi (o di concetto).
    Grazie.

    P.S.: Se tolgo il ciclo for e scrivo per 5 volte l'if con i numeri dei pulsanti, tutto funziona. Ma vorrei ottimizzare l'AS .

  2. #2
    codice:
    function cancellaMenu() {
    	for(i=5; i>0; i--) { //siccome i pulsanti sono 5 ( parti da 5 )
    		var newMenu:String = "menuA" + String( i ); //il nome del pulsante: menuA1, menuA2, ...
    		if( eval( newMenu ).nomeClip.nome == "" ) { //se il campo di testo è vuoto
    			eval( newMenu ).puls.enabled = 0; //disabilita l'area sensibile, che si chiama "puls"
    		}
    	}
    }
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Grazie per avermi risposto, andr3a.
    Originariamente inviato da andr3a
    codice:
    (...)
    	for(i=5; i>0; i--) { //siccome i pulsanti sono 5 ( parti da 5 ) 
    (...)
    Verissimo! Già corretto!
    Però, se scrivo...
    Originariamente inviato da andr3a
    codice:
    (...)
    		var newMenu:String = "menuA" + String( i ); 
    (...)
    ... newMenu non diventa il nome del menu, come invece faceva prima.

  4. #4
    Originariamente inviato da danbat
    Però, se scrivo...... newMenu non diventa il nome del menu, come invece faceva prima.
    in actionscript , di MX 2004 , dove add e' deprecato

    le stringhe le concateni con il +

    e se i = 5

    "lol" + String(i) sara' lol5, non c'e' altro tipo di dato ...

    eval serve perche' una stringa di per se non e' niente, non e' un nome di istanza

    poi vabbeh, usi la variabile sul campo di testo, deprecata anche quella, usa i nomi di istanza e riferisciti a loro con eval o con path['nomeistanza']

    dove path puo' essere _root o altro
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Tutto chiarissimo!
    Ti ringrazio per le informazioni e provo ad applicarle.

    P.S.: Per i metodi deprecati.. che ci vuoi fare... mi ero abituato così... devo aggiornarmi.

  6. #6
    Originariamente inviato da danbat
    Tutto chiarissimo!
    Ti ringrazio per le informazioni e provo ad applicarle.

    P.S.: Per i metodi deprecati.. che ci vuoi fare... mi ero abituato così... devo aggiornarmi.
    non e' necessario, e' solo consigliabile ... sicoome deprecati, rischi che un domani non ti funzionano piu'
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Funziona tutto!
    Ho utilizzato lo script esattamente come me lo hai corretto tu. (errore stupido: richiamavo la funzione con il nome sbagliato! )

    I nomi di istanza al posto delle variabili per i campi di testo li applicherò un'altra volta (ora dovrei correggere una marea di cose e mi manca il tempo).

    Buona giornata!

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.