Domanda:
[JAVASCRIPT] Controllare i dati di più
: possibile usare un'unica funzione?
anonymous
2007-04-13 01:57:53 UTC
Devo gestire il controllo sui dati di 3 form (controllare se i campi son vuoti..).
Ora come ora ho creato una funzione di controllo javascript per ogni form tipo questa:

function checkAndSubmit() {
var sel1= document.modulonumero1.selectcategoria.value;
var sel2= document.modulonumero1.selectregione.value;

if (sel1==0) {
window.alert('Non hai scelto nessuna categoria!!');
}
else if (sel2==0)
{
window.alert('Non hai scelto nessuna regione!!');
}
else
{
document.modulonumero1.submit();
}
}

Nella pagina ho poi inserito questo codice:


So che è possibile usare un'unica funzione per controllare tutte le form, potreste per favore illustrarmi DETTAGLIATAMENTE come fare??

Grazie 1111101000 !!
Quattro risposte:
zedda_piras25
2007-04-13 02:28:38 UTC
ma per form intendi form o gli input che lo costituiscono?



puoi seguire due approcci, via nome form e via class

puoi adattarti la funzione getelementbycalss per lo scopo



poi passi il nome del form o della classe alla funzione e per ogni elemento controlli il tipo e a seconda vedi se selected == 0

checkbox == off value == '' o innerHTML == ''

ancora più semplice se i campi del form sono uniformi (tutti text input ad esempio)



magari la spiegazione è un po contorta ma è molto semplice
Nemesis
2007-04-13 03:04:11 UTC
Io ho sempre saputo che è possibile inviare dati con un solo form alla volta. Perciò non mi sono mai posto il problema.



Cioè:

se io clicco sul bottone INVIA di un form la pagina dovrà ricaricarsi (amenochè non si usa una richiesta asincrona) perciò posso usare un solo form alla volta.



Che senso ha controllare tre form? Non si può fare il submit di tre form contemporaneamente.

O fai tutto in un unica form, oppure usi delle richieste asincrone con AJAX.



Se invece intendevi dire "Mi serve una funzione che mi controlla tutti i campi di un form e che controlla che tutti siano riempiti correttamente" te ne devi creare una adhoc, perchè ci sono diversi campi da controllare:

ad esempio se hai un campo "EMAIL" devi usare un espressione regolare che controlli che il testo inserito assomigli a un email (e cioè ad esempio nome@provider.it);

In questo caso basta che cerchi su http://javascript.html.it/ ce ne sono diverse.

Se trovi problemi vai sul forum di quel sito alla sezione javascript e con una ricerca o con una nuova discussione sicuramente risolverai il problema.



Capisci che non è che ti si può dare la funzione qui su answers non conoscendo neanche come hai strutturato la il codice HTML.. non funzionerebbe sicuro..



Non è che ci sono delle funzioni magiche che fanno tutto sempre.



E' vero che esistono delle librerie che fanno certe cose in modo semplice, ma in questo (controllo dei campi di un FORM) te lo sconsiglio vivamente, meglio che impari a farle da solo e trovi il metodo che si adatta di più alle tue esigenze.



Ti ricordo che oltre alla validazione lato client è necessario fare un controllo anche lato SERVER.. e mo ti spiego il perchè con un esempio.



C'ho un form che mi richiede che certi campi siano riempiti e che fa la validazione solo con javascript;

Io siccome so ******* non mi va di inserire tutti i campi e allora sai che faccio?

Disabilito Javascript;

dopodichè riempio solo i campi che voglio io e lascio vuoti quelli che non voglio riempire (anche se obbligatori) e clicco su invia.

Il modulo verrà inviato perchè javascript (essendo disabilitato) non fa i controlli.



Spero di esserti stato utile..

Ciao
herrluca
2007-04-13 02:12:15 UTC
io lo sapevo con php...nn ho con me il manuale dove l'avevo studiato, cmq su internet ho troavto questo:

http://www.scriptforwebmaster.com/imparare/print.php?id=15



può servire?
anonymous
2007-04-13 02:02:16 UTC
uffaaaaaaaaa lo sapevo lo sapevo lo sapevo.. non è nemmeno molto complicato... ce l'ho sulla punta della lingua... uff.... ma porc....


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...