Newsgroup: it.comp.lang.javascript
Titolo: Form e passaggio valore

Salve,
ho già fatto questa domanda in un'altro forum senza però ottenere un valido
aiuto.
Spero mi possiate aiutare.
Ho questo semplice form che manda il valore ad uno script (Perl) per la
sottoscrizione ad una mailing list:
<form action="indirizzoScript" method=post>
<input type=text name="address" size=50><br>
<input type=radio name=action value=subscribe checked>
Iscriviti | Cancellati <input type=radio name=action value=remove>
<br>
<input type="submit" value="Update"><br>
</form>
Fin qui tutto bene, il form e lo script funzionano per bene.
Ora voglio fare in modo che il valore venga mandato allo script e il
risultato non venga visualizzato su una nuova pagina (target=_blank) ma
venga visualizzato su una finestra magari centrale generata da una semplice
funzione in javascipt..
<form action=java script:fin('indirizzoScript') method=post>
dove fin mi crea la finestra centrale con le dimensioni volute.
Sembrerebbe funzionare, ma non è così, infatti il valore non viene passato e
nessuno controllo [es.mail valida o mail già presente] viene fatto, esegue
solo lo script nella finestra centrale.
Mi hanno consigliato di togliere l'action e il tag <input type="submit">
al posto di questo mettere
<input type="button" value="manda" onClick="manda()">
e nell'head
function manda() {
 var a = window.open("script.cgi","a","");
 document.nomeform.action = a;
 document.nomeform.submit();
}
Purtroppo neache così funziona
Spero di essermi spiegato bene...
Grazie per l'aiuto.

 Purtroppo neache cosě funziona
Hanno fatto un po' di confusione, temo.
Dovresti fare qualcosa del genere:
<script type="text/javascript">
function openTarget(){
	window.open("about:blank","mypopup","width=520,height=200");
}
</script>
<form action="indirizzoScript" method="post" target="mypopup"
onsubmit="openTarget();">
	<input type="text" name="address" size="50" /><br />
	<input type="radio" name="action" value="subscribe" checked="checked" />
	Iscriviti | Cancellati <input type="radio" name="action" value="remove" />
	<br />
	<input type="submit" value="Update" /><br />
</form>
-- 
ZER0://coder.gfxer.web-designer/
~ Una mente perversa e' un peccato sprecarla.
(A dirty mind is a terrible thing to waste)

> Dovresti fare qualcosa del genere:
Perfetto ti ringrazio moltissimo, la strada che avevo preso era
completamente sbagliata !
Grazie ancora

 completamente sbagliata !
Beh, il concetto vagamente c'era :)
Mi e' appena venuto in mente che, volendo, potresti evitare una ridondanza
di dati modificando lo script in questo modo:
<script type="text/javascript">
function openTarget(f){
	window.open("about:blank",f.target,"width=520,height=200");
}
</script>
<form action="indirizzoScript" method="post" target="mypopup"
onsubmit="openTarget(this);">
(etc)
Ovviamente poi possono esservi ulteriori customizzazioni, ma in questo modo
eviti di dover riscrivere due volte il nome che assegni alla finestra di
popup (la prima volta in target, la seconda dentro la funzione), ottenendo
due risultati: Il primo, puoi riutilizzare la stessa funzione per form
differenti che coesistono nella stessa pagina, evitando quindi che una vada
a "caricarsi" sulla pagina aperta da un altra (se invece e' cio' che
desideri, basta specificare lo stesso nome nell'attributo target della
form); la seconda, riduci errori di distrazione (se in target scrivi
"popup" e nella funzione "mypopup", per esempio, tutto lo script va in
malora).
-- 
ZER0://coder.gfxer.web-designer/
~ "Massi' che e' uno standard, e' uno standard proprietario."
(Gio')