Joomla.it Forum
Componenti per Joomla! => Gestione Form => : rushseeker 30 Mar 2011, 10:31:33
-
Ho costruito un piccolo validatore in Javascript .
Mi serve che chronoform non immetta nessun dato nel DB se il validatore non dà il permesso:
Se non ho capito male: se vado su Generale e poi su onsubmit e inserisco per esempio questo:
onsbumit="return false;" enctype='multipart/form-data';
Non dovrebbe mai immetere dati nel DB, è corretto?
-
Ho provato e riprovato, non capisco il motivo per cui questa cosa non debba funzionare...
scusatemi, ma ho veramente bisogno di capire come mai questa cosa non funziona.
-
Non ho capito bene dove hai inserito il codice, quello che hai mostrato è javascript e nel campo on submit in quel modo non può funzionare, mancano i tag <script> classici di javascript.
Ma a parte quanto detto, non mi sembra che quel codice validi qualche campo.
Quale tipo di validazione devi attivare per i campi ? Non bastano quelle già disponibili del wizard o in validation ?
-
In effetti ho scritto poco chiaramente:
Ho costruito una tabella al cui interno si inseriscono date e attraverso queste si fanno dei calcoli. Se una di queste date non rispetta dei criteri diventa di colore rosso, cioè non valida.
Quando un campo data è in errore la classe assume il valore 'LV_INVALID MESSAGE' ( mi pare sia questo il css per identificare un campo non corretto).
Se clicco submit anche se quel campo è invalido, il validatore di mootools se ne frega, l'inserimento al DB avviene ugualmente: ecco perché ho dovuto creare una funzione di validazione personale.
ho creduto che mettendo la mia funzione di validazione e restituendo false questa mi bloccasse l'esecuzione.
Quella che ho scritto sopra è semplicemente un test: cioè se inserisco "return false" non si dovrebbe bloccare?
Credi possa funzionare se inserisco un onsubmit direttamente sul pulsante onsubmit o riesco a distruggere per bene chronoform?
-
In Albo Pretorio uso questo metodo:
tasto submit nascosto e un bottone invia che chiama con onclick una funzione inserita in form javascript che dopo la conferma attiva la pressione del tasto submit nascosto.
Nel tuo caso con il primo invio la funzione dovrebbe fare il controllo, se tutto è ok attiva invio altrimenti gli fai emettere un messaggio.
<input onclick="disp_confirm()" value="Invia" name="button_0" type="button" />
<input type="reset" name="reset" value="Reset"/>
<input style="display:none;" id="invia" value="Conferma" name="button_1" type="submit" />
funzione javascript
function disp_confirm()
{
qui devi inserire il tuo codice se tutto è ok la variabile r dovrà essere true
if (r==true)
{
document.getElementById('invia').click();
}
else
{
//return false;
windows.self;
}
}
Più o meno una cosa come questa che dovrà essere adattata alla tua situazione.
-
Grazie Vales,
avevo pensato a questa soluzione ma pensavo fosse troppo "facile" e quindi prevista da Chronoform... e invece...