[DOM]Prelevare dati da un documento per portarli in un altr

di il
4 risposte

[DOM]Prelevare dati da un documento per portarli in un altr

Salve a tutti. Vi espongo il mio problema. Ho creato una pagina in cui inserire dei dati per la registrazione e fin qui tutto ok. Poi ho creato uno script in js che controlla l'esattezza dei dati e fin qui tutto ok. Ora devo fare in modo che se i dati son corretti mi apre un'altra finestra di riepilogo con tutti i dati presi dalla prima pagina .html.. Ora la domanda principale è come faccio a dire al DOM che mi servono i dati della prima pagina e non di quella che devo creare??

4 Risposte

  • Re: [DOM]Prelevare dati da un documento per portarli in un altr

    vecio88 ha scritto:


    Salve a tutti. Vi espongo il mio problema. Ho creato una pagina in cui inserire dei dati per la registrazione e fin qui tutto ok. Poi ho creato uno script in js che controlla l'esattezza dei dati e fin qui tutto ok. Ora devo fare in modo che se i dati son corretti mi apre un'altra finestra di riepilogo con tutti i dati presi dalla prima pagina .html.. Ora la domanda principale è come faccio a dire al DOM che mi servono i dati della prima pagina e non di quella che devo creare??
    Ciao.
    Se ho capito bene, tu vorresti che una volta confermati i dati nel modulo si apra una seconda finestra contenente tali dati a riepilogo.
    Le finestre possono essere relazionate fra loro tramite Javascript solo se è stato Javascript stesso ad iniziare tale relazione (ad esempio: aprendo un popup, Javascript mette in relazione la nuova finestra e il suo DOM come figlia della pagina principale).
    Nel caso tu voglia fare una pagina molto molto semplice, ti consiglierei di procedere in un modo simile al seguente:
    function finestraRiepilogo() {
    	// Istanza DOM del modulo contenente i dati
    	var form = document.getElementById("formDati");
    	// Creo variabile vuota: conterrà il testo della nuova pagina
    	var html = "";
    	// Ciclo fra i campi del modulo, riempo la variabile precedente con i valori
    	for (i=0; i<form.elements.length; i++)
    		html += "<p><strong>"+form.elements[i].name+":</strong> "+form.elements[i].value+"</p>\n";
    	// Apro e assegno l'istanza di una nuova finestra popup (larghezza e altezza 500px)
    	/* NB: il primo parametro di open() è lasciato vuoto e apre about:blank
    	 	 ma inserendovi invece un'URL viene caricata una pagina da file
    	 	 ovviamente raggiungibile e modificabile via DOM */
    	var wind = window.open("","","width=500,height=500");
    	// Scrivo nell'HTML della nuova finestra la variabile riempita prima
    	wind.document.write(html);
    	// Metto a fuoco la nuova finestra. Et voilà!
    	wind.focus();
    }
    Dopodiché non rimane che richiamare la funzione finestraRiepilogo() al click di un pulsante o all'invio del modulo.

    Se invece avevi intenzione di aprire una nuova pagina MOLTO più complessa di così ma pur sempre senza scrivere subito i dati dell'utente sul database, potresti pensare di unire Javascript ad un linguaggio di programmazione lato server e collegare due pagine tramite cookie.
    Per esempio, la stessa funzione di prima non aprirà più nessuna pagina, setterà invece un cookie con i dati della sessione:
    function finestraRiepilogo() {
    	// Istanza DOM del modulo contenente i dati
    	var form = document.getElementById("formDati");
    	// Ciclo fra i campi del modulo, riempo la variabile precedente con i valori
    	for (i=0; i<form.elements.length; i++) {
    		// Nome del cookie dinamico in formato array
    		var cookiename = "invioDati["+form.elements[i].name+"]";
    		// Imposto la scadenza del cookie (1 giorno)
    		var exdate = new Date();
    		exdate.setDate(exdate.getDate()+1);
    		// Setto un nuovo cookie con nome e scadenza generati prima e validità sulla root
    		document.cookie = cookiename+"="+escape(utf8_encode(form.elements[i].value))+";expires="+exdate.toUTCString()+";path=/";
    	}
    }
    A questo punto il cookie potrà essere letto ed utilizzato da uno script (sullo stesso dominio) per poter creare meccanismi più complessi e visualizzare tali dati.

    Più specifico non riesco ad essere in quanto mi hai dato pochi dati su cui riflettere, ma spero di averti dato qualche idea

    Ciao!
  • Re: [DOM]Prelevare dati da un documento per portarli in un altr

    Guarda che dire meglio di cosi non potevi andare grazie mille, lo testo subito e ti faccio sapere, era propri0o quello che volevo
  • Re: [DOM]Prelevare dati da un documento per portarli in un altr

    vecio88 ha scritto:


    guarda che dire meglio di cosi non potevi andare grazie mille, lo testo subito e ti faccio sapere, era propri0o quello che volevo
    Yeah, buon lavoro allora sappimi dire com'è andata.
    Ciao!
  • Re: [DOM]Prelevare dati da un documento per portarli in un altr

    Un info ma il ciclo alla nuova finestra gli passa solo i valori presenti nelle caselle di testo??

    PS la pagina di riepilogo deve essere formattata va bene l'esempio che mi hai fatto tu sopra??
Devi accedere o registrarti per scrivere nel forum
4 risposte