[RISOLTO][JQuery] Validazione form

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Xeyos
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 463
Iscrizione: lunedì 26 maggio 2008, 14:16

[RISOLTO][JQuery] Validazione form

Messaggio da Xeyos »

Ciao a tutti,
probabilmente sto facendo un errore grossolano che non trovo nella validazione di un form, perchè dovrebbe funzionare.

Codice: Seleziona tutto

<script>
 function checkForm() {
     var xml1 = document.getElementsByName('xml1').val();
     var xml2 = document.getElementsByName('xml2').val();
     var xml3 = document.getElementsByName('xml3').val();
     if(xml1 == '' || xml2 == ''  || xml3 == ''){
         alert("The inputs can not be empty ");
         return false;
     }
     else return false;
 };  

</script>
<form id="formxml" method="post" action="<?php echo URL;?>controller/testXML" enctype="multipart/form-data">
    <label for="xml1">XML1:</label>
    <input type="file" name="xml1" id="xml1"><br>
    <label for="xml2">XML2:</label>
    <input type="file" name="xml2" id="xml2"><br>
    <label for="xml3">XML3:</label>
    <input type="file" name="xml3" id="xml3"><br>
    <input type="submit" name="submit" value="submit" onclick="return checkForm()">
</form>
Questo non sembra funzionare, il form viene comunque spedito.
Io devo controllare che siano stati inseriti 3 file nei 3 input e poi inviati.
Ultima modifica di Xeyos il mercoledì 25 giugno 2014, 23:02, modificato 1 volta in totale.
Avatar utente
ienaplinsky
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 954
Iscrizione: giovedì 21 gennaio 2010, 9:56
Località: Napoli

Re: [JQuery] Validazione form

Messaggio da ienaplinsky »

Io utilizzo l'attributo onsubit della form, non l'attributo onclick del button submit
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [JQuery] Validazione form

Messaggio da Zoff »

Il problema di fondo è che c'è un errore nel codice javascript, usi il metodo val() di jquery sui normali oggetti del DOM di javascript, per cui viene generatore un errore che impedisce alla funzione di restituire false, quindi il submit procede.
Tra l'altro stai anche usando il metodo sbagliato, dovresti usare getElementById, non getElementsByName.

Così funziona:

Codice: Seleziona tutto

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>OK</title>
    </head>
    <body>
        <script>
            function checkForm() {
                var xml1 = document.getElementById('xml1').value;
                var xml2 = document.getElementById('xml2').value;
                var xml3 = document.getElementById('xml3').value;
                if (xml1 == '' || xml2 == '' || xml3 == '') {
                    alert("The inputs can not be empty ");
                    return false;
                }
                else
                    return false;
            }
            ;

        </script>
        <form id="formxml" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>/controller/testXML" enctype="multipart/form-data">
            <label for="xml1">XML1:</label>
            <input type="file" name="xml1" id="xml1"><br>
            <label for="xml2">XML2:</label>
            <input type="file" name="xml2" id="xml2"><br>
            <label for="xml3">XML3:</label>
            <input type="file" name="xml3" id="xml3"><br>
            <input type="submit" name="submit" value="submit" onclick="return checkForm();">
        </form>
    </body>
</html>
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Xeyos
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 463
Iscrizione: lunedì 26 maggio 2008, 14:16

Re: [JQuery] Validazione form

Messaggio da Xeyos »

Beh direi che troppe ore di programmazione continuata fanno male, vado comunque a nascondermi per l'errore stupido...
Grazie mille Zoff.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti