Newsgroup: it.comp.lang.javascript
Titolo: Form e scaricamento file

Il problema é questo:
Voglio consentire il prelevamento di un file dal sito solo alle persone che
hanno lasciato i loro dati.
La soluzione che ho pensato è questa:
1) utilizzo un normale form per i dati, sui quali faccio un controllo
tramite una funzione chiamata dal gestore eventi [onSubmit="return
controllo(this)"]
2) se la verifica è positiva (dati corretti) compare un messaggio di
ringraziamento tramite il metodo [alert("ringraziamento"]
3) il form viene inviato tramite e.mail
4) attivo lo scaricamento del file tramite la chiamata
[window.open("nomefile.zip")]
Il malfunzionamento è dovuto al fatto che lo scaricamento del file viene
attivato prima della spedizione del modulo. Poichè quest'ultima azione può
essere annullata, mi troverei nell'impossiilità di sapere che ha scaricato
il file.
Ho provato a posizionale l'istruzione (4) in vari punti diversi ma senza
risultato; ad esempio scrivendo [onSubmit="return controllo(this);
window.open('nomefile.zip')"] la seconda parte della istruzionenon viene
eseguita.
Qualcuno ha qualche suggerimento?
Grazie in anticipo e saluti a tutti.
Giovanni

 ha scritto nel messaggio
news:8tds1e$6h6$1...@serv1.albacom.net...


 hanno lasciato i loro dati.
Ho sostituito l'alert con una modale semplice semplice che richiede il click 
sul bottone per il download. In questo modo il form fa in tempo a partire 
tranquillmente.
La modale va al centro dello schermo (le due var sono larghezza ed altezza).
Il contenuto devi variarlo cambiando il testo dei write().
Spero che sia quello che chiedevi, e attento alle linee lunghe!
<HTML>
<HEAD>
<SCRIPT>
<!--
var fw=200,fh=100;
if (parseInt(navigator.appVersion)>3){lt=(screen.width-fw)/2-
12;tt=(screen.height-fh)/2-30;}else {lt=300;tt=150;}
function scarica()
	{
	if (document.modulo.nome.value=="riccardo")
		{
		f=window.open("","f","width="+fw+",height="+fh+",status=no,menuba
r=no,resizable=no,scrollbars=no,left="+lt+",top="+tt);
		with (f.document)
			{
			open();
			write("<HTML><BODY BGCOLOR=#0066cc TEXT=#ffffff>");
			write("<TABLE WIDTH=100% HEIGHT=100%><TR><TD ALIGN=center 
VALIGN=middle><FORM>");
			write("<INPUT TYPE=button VALUE='Scarica il file' 
onClick=opener.download();self.close()>");
			write("</FORM></TABLE></BODY></HTML>");
			close();
			}
		f.focus();
		}
	}
function download()
	{
	alert("Qui ci va il link: opener.location='file.zip'");
	}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="modulo" onSubmit="scarica()">
<INPUT TYPE="text" NAME="nome" VALUE="riccardo"> <BR>
<INPUT TYPE="submit" VALUE="Invia il form">
</F0RM>
</HTML>
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
Need a JavaScript password?
http://www.jspoint.it/staffscripts/script021/PazzWordProva/ingresso.html
------------------------------------------------------------------------
"Any sufficientely advanced technology is indistinguishable from magic"
                      Arthur Charles Clarke
------------------------------------------------------------------------