Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26

Discussione: valore undefined

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507

    valore undefined

    ciao ragazzi, avrei un problemino da risolvere...

    io devo mettere il risultato di una pagina asp in dei campi dinamici..e fin qui tutto ok!
    poichè i campi sono 5 o 10, a seconda di cosa sceglie l'utente, è possibile fare in modo che se i risultati della pagina asp sono inferiori a 5 o a 10 non mi compaia la scritta undefined nei campi dinbamici che non hanno un valore corrispondente?!

    vi posto tutto il codice (qui popolo anche delle combo, ma per quelle il problema non sussiste..)
    codice:
    on (release) {
    	m1.removeAll();
    	m2.removeAll();
    	m3.removeAll();
    	m4.removeAll();
    	m5.removeAll();
    	m6.removeAll();
    	m7.removeAll();
    	m8.removeAll();
    	m9.removeAll();
    	m10.removeAll();
    	ricerca = new LoadVars();
    ricerca.prop1 = pr1.getSelectedItem().label;
    ricerca.prop2 = pr2.getSelectedItem().label;
    ricerca.prop3 = pr3.getSelectedItem().label;
    ricerca.prop4 = pr4.getSelectedItem().label;
    ricerca.prop5 = pr5.getSelectedItem().label;
    ricerca.prop6 = pr6.getSelectedItem().label;
    mov = new LoadVars(); 
    ricerca.send("http://localhost/proprietà.asp",mov,'POST');
    mov.onLoad = function(popola){ 
    	if(popola){
    		if (ck5.selected==true) {
    			_root.ta1.text=this["movie1"];
    			_root.ta2.text=this["movie2"];
    			_root.ta3.text=this["movie3"];
    			_root.ta4.text=this["movie4"];
    			_root.ta5.text=this["movie5"];
    			for (i=1; i <=Number(this.tot); i++) { 
    			filmati = this ["movie"+i]; 
    			_root.m1.addItem(filmati); 
    			_root.m2.addItem(filmati);
    			_root.m3.addItem(filmati);
    			_root.m4.addItem(filmati);
    			_root.m5.addItem(filmati);
    			}
    		} else if (ck10.selected==true) {
    			_root.ta1.text=this["movie1"];
    			_root.ta2.text=this["movie2"];
    			_root.ta3.text=this["movie3"];
    			_root.ta4.text=this["movie4"];
    			_root.ta5.text=this["movie5"];
    			_root.ta6.text=this["movie6"];
    			_root.ta7.text=this["movie7"];
    			_root.ta8.text=this["movie8"];
    			_root.ta9.text=this["movie9"];
    			_root.ta10.text=this["movie10"];
    			for (i=1; i <=Number(this.tot); i++) { 
    			filmati = this ["movie"+i]; 
    			_root.m1.addItem(filmati); 
    			_root.m2.addItem(filmati);
    			_root.m3.addItem(filmati);
    			_root.m4.addItem(filmati);
    			_root.m5.addItem(filmati);
    			_root.m6.addItem(filmati);
    			_root.m7.addItem(filmati);
    			_root.m8.addItem(filmati);
    			_root.m9.addItem(filmati);
    			_root.m10.addItem(filmati);
    			}
    		}
    	}
    }
    
    
    }

  2. #2
    codice:
    for (i=6; i<11; i++) {
    	_root["ta"+i].text = "W PEPPINO "+i;
    }

    secondo modo...serio
    codice:
    for (i=6; i<11; i++) {
    	_root["ta"+i].text = " ";
    }
    lo metti nel primo if (ck5.selected==true)...così dal 6 al dieci si
    "cancellano"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    il problema è che non è detto che siano per forza cinque i risultati, è probabile che siano meno...
    il mio problema non è cancellare i risultati da 5 a 10, perchè questo fatto non sussiste, l'ho già risolto...
    il problema sta nel fatto che se io ho cinque campi di testo visibili o 10 e i risultati dall'asp sono inferiori a 5 o a 10, in alcuni campi mi mette undefined: io vorrei che questi undefined non si vedessero...

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    up

  5. #5
    Ma scusami tanto, sull'evento onLoad non puoi assegnare solo le variabili che ricevi? In questo modo non hai bisogno di assegnare valori che non esistono alle caselle di testo. Non assegnando nessun valore "undefined" esse resteranno vuote...

    codice:
    // supponendo che le tue variabili abbiano il nome "movie" con un numero progressivo al fondo
    mov.onLoad = function(success){
       if(success){
          var i = 0;
          for(var a in this){
             if(a.substr(0, 5) == "movie"){
                var txt = _root["ta" + (i+1)];
                txt.text = this[a];
             }
          }
       }else trace("loading error");
    };

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    non posso, perchè non so quante sono le variabili che ricevo: essendo una pagina asp che fa una ricerca per parole chiave in un db in base a dei valori selezionati dall'utente, i risultati possono cambiare, quindi io potrò ricevere 20 variabili come 2...
    non sono in grado di stabilire a priori il numero di variabili che ricevo...
    io avevo pensato ad un controllo if, ma non saprei come metterlo...come posso fargli controllare il numero di variabili che riceve dall'asp?!

  7. #7
    Il codice che ti ho dato io non tiene conto del numero di variabili, è dinamico...

  8. #8
    Comunque sia il valore undefined si può controllare.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    ho provato il tuo codice, ma non funziona, non mi scrive nemmeno i valori nei campi di testo...

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    up

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.