Newsgroup: it.comp.lang.javascript
Titolo: resettare un solo campo dopo submit

Salve raga, il mio problema penso sia abbastanza semplice per chi se ne
intende un pò...
la pagina in questione è questa:
http://www.djcris.it/tagboard.php
praticamente quando viene inviato il form viene aggiornato solo l'iframe
centrale... di conseguenza quello precedentemente scritto nei campi del form
rimane su schermo...
il mio problema è che vorrei resettare il campo messaggio dopo aver inviato
il form, lasciando stare ovviamente il nome e l'email....
ho provato con onsubmit sul campo del msg,
con
onClick="javascript:this.form.cjmsg.value=='';"
sul pulsante di invio...
il fatto è che sono solo uno smanettone e che con js non ho molta
pratica.... :)
--
        __^ ^__
 oOo (o)(_)(o) oOo
|                            |
|       dj zone:        |
|   
www.djcris.it
     |
| _____________ |
U                        U

 onClick="javascript:this.form.cjmsg.value=='';"
"javascript:" e' uno pseudo-protocollo, lo devi usare solo nel caso che tu
voglia eseguire delle istruzioni come se fosse un indirizzo (es.
dall'attributo href di un link).
Inoltre hai usato l'operatore di uguaglianza (==), non di assegnazione (=).
E' buffo, perche' di solito fanno l'errore inverso. :)
Eventualmente sarebbe quindi:
onclick="this.form.cjmsg.value=''"
(ammesso che tale event-handler sia su un elemento della form, e che il
nome cjmsg sia dell'elemento corretto).
Ma cosi' facendo resetteresti i valore prima di inviarlo, e quindi
invieresti un campo vuoto.
Ci sono diverse possibili soluzioni. Ad esempio, una di queste e' quella di
resettare i campi ad invio avvenuto. Ma per esser certi di cio', il codice
non puoi metterlo nella pagina dove sta la form; bensi' in quella che
riceve i dati (ovvero nell'iframe): Nel caso la pagina sia stata chiamata
tramite un post, fai scrivere a PHP il codice che "resetta" il campo.
Qualcosa tipo:
parent.document.nomeForm.cjmsg.value="";
Mi e' venuta in mente anche un'altra soluzione che potresti usare senza
toccare la pagina di destinazione, ma forse e' un po' piu' laboriosa.
-- 
ZER0://coder.gfxer.web-designer/
~ Deformazione professionale č:
Quando in ascensore senti la ragazza accanto che tira fuori il cellulare,
e ti volti per capire se e' un modello sul quale puoi sviluppare in J2ME.
on air ~ "Wedding Songs - Kissing You (instrumental)"

e se usassi due form annidati??? uno che spedisce i dati alla pagina di
destinazione e uno che rimanda alla pagina del form con solo nome ed
email??? è possibile o incappo in qualche errore?


 email??? è possibile o incappo in qualche errore?
Mi sembra un inutile casotto.
A questo punto e' piu' indicata la soluzione "laboriosa" che ti avevo
omesso.
Ovvero, utilizzare un campo hidden che invia il messaggio in post alla
pagina, piuttosto che la textarea.
Mi spiego meglio:
Quando invii un form, i dati che passi sono solo i value degli elementi che
possiedono un attributo "name".
Ti basterebbe quindi, eliminare il "name" dalla textarea in modo che i dati
in essa contenuti non vengano inviati; e creare un campo hidden, poco prima
dell'invio, copi i dati e resetti la textarea.
Per referenziarti alla textarea puoi usare un attributo ID o tramite la
collection elements con indice numerico.
Per farti un esempio veloce:
<form
onsubmit="this.cjmsg.value=this.elements[0].value;this.elements[0].value=''">
	<textarea></textarea>
	<input type="hidden" name="cjmsg" value="" />
	<input type="submit" />
</form>
-- 
ZER0://coder.gfxer.web-designer/
~ I feel like I'm diagonally parked in a parallel universe.