Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    39

    Scrivere Dati ricevuti da File PHP in campo di testo dinamici

    Ciao a tutti sono nuovo da queste parti!

    ho un problema con questo script...
    Carico i dati da una query in dbpass.php, e fin qui tutto bene!
    Ora vorrei scrivere questi dati all'inderno di diversi "Campi di Testo Dinamici" che si trovano all'interno di alcuni MovieClip (uguali tra loro ma con differenti "istance names" -tab1, tab2, tab3 ecc..- )
    ecco lo script:


    -----------------------------
    -----------------------------
    //nel frattempo carico una scritta di loading
    //nei campi di testo dinamico, e funge!
    -----------------------------
    var i;
    for (i=0; i < 10; i++) {
    this["tab"+i].name.text = "loading";
    tab1.onRelease = function() {
    }
    }

    -----------------------------
    //Questa è la parte di script che non va:
    //e' come se all'interno del "Function" non funzioni più...
    -----------------------------
    function showContent() {
    for (i=0; i < 10; i++) {
    this["tab"+i].name.text = this["name"+i] + " " + this["sname"+i];
    this["tab"+i].role.text = this["role"+i];
    this["tab"+i].numb.text = this["numb"+i];
    this["tab"+i].onRelease = function() {
    }
    }
    }
    -----------------------------
    //e finisce così:
    -----------------------------
    myVars = new LoadVars();
    myVars.load("dbpass.php");
    myVars.onLoad = showContent;

    stop();
    -----------------------------
    -----------------------------


    Non è semplice da spiegare ma se qualcuno c'ha capito qualcosa e mi può aiutare sarebbe molto apprezzato!
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    39
    allora ci riprovo, sapevo di non esser stato abbastanza chiaro:

    sullo stage ho dei movie clip (tab1, tab2, tab3...)
    all'interno di questi movieclip sono presenti 3 campi di testo dinamici (nome, role, numb)

    Carico i dati da php esterno.
    Vorrei ora far apparire quei dati all'interno dei campi di testo dinamici.

    come fare?
    se lo facci manulamente funziona:

    ----------------------------------------------------------

    myVars = new LoadVars();
    myVars.load("dbpass.php");
    myVars.onLoad = function () {
    i=1
    tab1.name.text = this["name"+i];
    tab1.role.text = this["role"+i];
    tab1.numb.text = this["numb"+i];
    }
    i=2
    tab2.name.text = this["name"+i];
    tab2.role.text = this["role"+i];
    tab2.numb.text = this["numb"+i];
    }
    //....ecc
    }

    -------------------------------------------------------

    però sarebbero troppe le righe di codice da scrivere

    ?????

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    39
    okay... dopo tanto penare... ce l'ho FATTA!!
    bastava usare il do..while

  4. #4
    Originariamente inviato da ventuno
    okay... dopo tanto penare... ce l'ho FATTA!!
    bastava usare il do..while
    non so come hai fatto a risolvere perche' i riferimenti che hai messo in funzione ( parlo del this ) non sono mica riferiti alla LoadVars...



    se scrivi:
    function showContent() {
    for (i=0; i < 10; i++) {
    this["tab"+i].name.text = this["name"+i] + " " + this["sname"+i];
    this["tab"+i].role.text = this["role"+i];
    this["tab"+i].numb.text = this["numb"+i];
    this["tab"+i].onRelease = function() {
    }
    }
    }
    a cosa pernsi che si riferisca ad esempio this["name"+i] ???
    Di sicuro non ai dati che ti sono arrivati dal file php.

    Prova cosi', vedrai che va.
    codice:
    stop();
    
    var myVars = new LoadVars();
    
    myVars.path = this;
    
    myVars.onLoad = function() {
    	for (i=0; i < 10; i++) {
    		this.path["tab"+i].name.text = this["name"+i] + " " + this["sname"+i];
    		this.path["tab"+i].role.text = this["role"+i];
    		this.path["tab"+i].numb.text = this["numb"+i];
    		this.path["tab"+i].onRelease = function() {
    			//
    		}
    	}
    }
    
    myVars.load("dbpass.php");
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    39
    ok!
    ora il problema però sono le variabili all'interno della funzione avviata dal "OnRelease":

    this.path["tab"+i].onRelease = function() {
    }

    se all'interno ci metto un comando tipo:

    this.path["tab"+i].onRelease = function() {
    _root.display.time.htmlText=this["time"+i];
    }


    non mi legge la variabile se invece scrivo:

    _root.display.time.htmlText="TEMPO";

    ottengo il risultato TEMPO come impostato.

    io però ho bisogno che mi legga la variabile!!!!
    cosa sbaglio?
    grazie ancora dell'aiuto.

  6. #6
    Originariamente inviato da ventuno
    this.path["tab"+i].onRelease = function() {
    _root.display.time.htmlText=this["time"+i];
    }
    mi sa che non hai capito come funzionano i riferimenti di FlashMX ... se tu metti un this all' interno di una funzione ti riferisci all' oggetto che richiama la funzione, non a quello che ti pare a te ...


    ovvio che
    movie.onPress = function() {
    this._alpha = 50;
    }
    sara' riferito a movie, MAI ad un qualunque altro oggetto.

    Le assegnazioni le puoi fare, con il this, solo all' interno della funzione onLoad ... perche' qui il this:
    miavar.onLoad = function() {
    trace( this.testo );
    }
    sara' ovviamente riferito a miavar, ma non e' che avrai un oggetto generico this.testo che ovunque ti trovi puoi utilizzare.

    Quindi dovrai attrezzarti con degli oggetti o con degli array all' interno di onLoad del LoadVars, per poi assegnarli al testo dinamico sull ' onRelease del botone, ma MAI col this riferito ad essi, perche' come ho appena detto, sara' riferito al bottone stesso, in quel caso, il this.

    Spero di essermi spiegato meglio
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7

    comunque sia ...

    ... ho gia' capito che nel tuo caso potresti anche aver capito ma ti senti incasinato ... facciamo cosi', vediamo se questo va


    codice:
    stop();
    
    var myVars = new LoadVars();
    
    myVars.path = this;
    
    myVars.onLoad = function() {
    	for (i=0; i < 10; i++) {
    		this.path["tab"+i].name.text = this["name"+i] + " " + this["sname"+i];
    		this.path["tab"+i].role.text = this["role"+i];
    		this.path["tab"+i].numb.text = this["numb"+i];
    		var myTime = this["time"+i];
    		this.path["tab"+i].onRelease = function() {
    			_root.display.time.htmlText = myTime;
    			// questo perche' un this qui dentro
    			// risulterebbe associato al bottone
    			// e non al this di myVars ...
    		}
    	}
    }
    
    myVars.load("dbpass.php");



    altro esempio, sempre per spiegare
    codice:
    myVars.onLoad = function() {
    	for (i=0; i < 10; i++) {
    		this.path["tab"+i].name.text = this["name"+i] + " " + this["sname"+i];
    		this.path["tab"+i].role.text = this["role"+i];
    		this.path["tab"+i].numb.text = this["numb"+i];
    
    		// posso anche assegnare ad una nuova var del bottone
    		this.path["tab"+i].time = this["time"+i];
    
    		this.path["tab"+i].onRelease = function() {
    			_root.display.time.htmlText = this.time;
    			// cosi' this sara' riferito a this.path["tab"+i]
    			// e non a myVars["time"] che non esiste ... 
    		}
    	}
    }
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    39
    io avevo già provato la prima delle due, ma non mi funzionava, forse per altri errori, adesso ci riprovo!

    Se non ricordo male però così mi carica le ultime variabili caricate per il campo richiesto indipendentemente dal tab cliccato...

    ad ogni tab dovrebbero invece corrispondere dati diversi

    Grazie cmq!

  9. #9
    Originariamente inviato da ventuno
    io avevo già provato la prima delle due, ma non mi funzionava, forse per altri errori, adesso ci riprovo!

    Se non ricordo male però così mi carica le ultime variabili caricate per il campo richiesto indipendentemente dal tab cliccato...

    ad ogni tab dovrebbero invece corrispondere dati diversi

    Grazie cmq!
    provare prima di rispondere ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    39
    il secondo metodo invece funziona alla grande!
    grazie mille!!! (se in caso sai come posso mettere in primo piano il movieclip display mi fai un ulteriore piacere, nel frattempo proverò a sistemarlo da solo)

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.