Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    13

    Stampa array una volta sola

    Allora,

    io ho fatto una funzione che mi legge un file xml, e mi aggiunge le voci dentro a un array.

    E ci sono i seguenti metodi:
    caricaVoci('documento.xml')
    stampa(uscita);

    dove uscita è il campo di testo su html.

    QUando premo il pulsante visualizza, vengono richiamati questi due metodi, cioè carica e stampa.

    Però se ripremo il pulsante, me li stampa due volte. Se RIpremo n volte il pulsante me li stampa n volte ù la prima che aveva già stampato...
    Come faccio a fare in modo che pigiando, anche più volte il pulsante, mi venga visualizzato UNA SOLA VOLTA l'array di voci?

    grazie , siete grandi!
    Oh yeah!

  2. #2
    azzera i value prima di "stampare"

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    13
    Dove li devo azzerare i value prima di stampare?

    Questo è il metodo di caricaVoci, cioè ti carica le voci dell'xml e te le mette dentro un array.

    this.caricaVoci = function(nomeFile)
    {
    var doc = document.implementation.createDocument("", "", null);
    doc.async = false;
    doc.load(nomeFile);

    this.nome = doc.childNodes[0].getAttribute("nome");
    var voci = doc.childNodes[0].childNodes;

    for (var i = 0; i < voci.length; i++)
    {
    if (voci[i].nodeName == "cd")
    {
    var id = voci[i].getAttribute("id");
    var tit = voci[i].getAttribute("titolo");
    var art = voci[i].getAttribute("artista");
    var comp = voci[i].getAttribute("compositore");
    var ty = voci[i].getAttribute("tipo");
    var casa = voci[i].getAttribute("casadisco");
    var descr = voci[i].getAttribute("descrizione");

    this.aggiungiCd(new Cd(id, tit, art, comp, ty, casa, descr));
    }
    }
    }





    E questo è il metodo che mi stampa le voci caricate.


    this.stampa = function(uscita)
    {
    var listampa = "";
    for(var j = 0; j < this.listaCd.length; j++)
    {
    listampa += this.listaCd[j].titolo + '\n' +
    this.listaCd[j].artista + '\n' +
    this.listaCd[j].compositore + '\n' +
    this.listaCd[j].casadisco + '\n' +
    this.listaCd[j].descrizione + '\n' + '\n';
    }
    uscita.value = listampa;
    listampa.length = 0;
    }




    Dove devo azzerare i value prima di stampare?
    Oh yeah!

  4. #4
    codice:
    this.stampa = function(uscita)
    { 
    var listampa = "";
    for(var j = 0; j < this.listaCd.length; j++)
    {
    listampa += this.listaCd[j].titolo + '\n' + 
    this.listaCd[j].artista + '\n' + 
    this.listaCd[j].compositore + '\n' + 
    this.listaCd[j].casadisco + '\n' +
    this.listaCd[j].descrizione + '\n' + '\n'; 
    }
    
    uscita.value="";
    
    uscita.value = listampa;
    listampa.length = 0;
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    13
    Non funziona.
    Oh yeah!

  6. #6
    dove lo stampi l'array?

    posta l'html.

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.