CFFORM Javascript Onsubmit | MrX

« KTM Supermoto e Superduke | Main | BlogMusik e Pandora »

CFFORM Javascript Onsubmit

By Merlinox | October 23, 2006

Uno dei metodo più usati per fare il check di un form è il seguente:

<form name="frm_ins" action="contatti.cfm" method="post" onsubmit="return check_data(this);">

</form>

 

Alla funzione check_data() viene passato direttamente l’oggetto form a cui facciamo riferimento, e se la funzione restituisce true, il form viene inviato, altrimenti l’invio viene annullato.

 

Ma perchè questo modo di utilizzare form e non funziona con CFFORM il tag di che introduce una serie di controllo "automatici"? Cerchiamo di capire come è fatto CFFORM e quindi capire il perchè…

CFFORM (con il check dei campi lato client) viene tradotto in un normale FORM con nell’evento OnSubmit la chiamata ad una funzione JS di .

Alla fine della funzione di controllo, molto intelligentemente, server va ad inserire anche il nostro controllo personalizzato e quindi la chiamata della funzione check_data(this). Il problema fondamentale è proprio questo: this in questo caso non assume più il valore che volevamo noi.

 

Per utilizzare quindi il nostro controllo JS con CFFORM dobbiamo sostituire il parametro this con il percorso completo dell’oggetto form:

 

<form name="frm_ins" action="contatti.cfm" method="post" onsubmit="return check_data(document.frm_ins);">

</form>

 

… e tutto funzionerà a dovere!

Piaciuto il post, condividilo:

Tags: , ,

Post simili

One Response to “CFFORM Javascript Onsubmit”

  1. Merlinox aggiunge:

    Sono proprio un oco.
    Prima scrivo questo bel post qui, e poi ieri ricasco sullo stesso errore sbattendo la testa contro il muro (e il monitor) perchè non mi funzionavano i controlli del onSubmit… che mona che sono!

Comments