Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [jQuery mobile] Form validation

    ciao a tutti.
    ho messo su un form con jquery mobile.
    funziona tutto però nn riesco a capire una cosa.
    per fare la validazione ho usato semplicemente questo:
    codice:
            <script type="text/javascript">
                function valida(modulo) {
                    var nome = modulo.nome.value;
                    var cognome = modulo.cognome.value;
                    var email = modulo.email.value;
                    var nazione = modulo.nazione.options[modulo.nazione.selectedIndex].value;
                    var lingua = modulo.lingua.options[modulo.lingua.selectedIndex].value;
                    var privacy = modulo.privacy.checked;
                    var espressione = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;           
                    if(nome == "" || cognome == "" ||email == "" || nazione == "*" || lingua == "*") {
                        alert("Tutti i campi sono obbligatori - All fileds are mandatory");
                        return false;
                    }
                    if(!espressione.test(email)) {
                        alert("La mail inserita non è valida - Mail not valid");
                        return false;
                    }
                    if(privacy == false) {
                        alert("Devi dare il conenso al trattamento dei dati personali - Please accept Privacy Plicy");
                        return false;
                    }
                }
            </script>
    per funzionare funziona, ma con una differenza rispetto a un form "normale": anche se nn è validato mi resetta tutti i campi.
    avete qualche idea?
    oppure avete qualche plugin specifico per la validazione di form mobile?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    - Come richiami la funzione?
    - Hai provato ad usare la sintassi "estesa" document.nomeform.nomecampo.value o il dom document.getElementById('idElemento').value?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    la funzione la richiamo così semplicemente così:
    codice:
    <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" class="ui-body ui-body-a ui-corner-all" onsubmit="return valida(this);">
    .........
    però siccome su un form normale il problema nn si pone, nn vorrei che ci fosse qualche comportamento di jQuery mobile che nn so.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Le domande sono due, e cosa centra jquery.mobile in questa funzione di convalida in puro javascript hai degli errore nella console? E cosa vuol dire però siccome su un form normale il problema nn si pone intendi non riscontro questo problema se visto il sito con un pc? Con che dispositivo (device) lo visti?
    Su, su collabora
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    mi rispiego perchè forse nn mi sono spiegato bene.
    su un form "normale" non costruito con le regole di jQuery mobile succede questo:
    -se il form è validato va tutto bene
    -se c'è qualche errore il tutto si blocca, mi esce l'alert e il form rimane così com'è in modo da poter apportare le correzioni

    se invece lo faccio su questo form succede questo:
    -se il form è validato va tutto bene
    -se c'è qualche errore mi esce l'alert ma la pagina viene ricaricata lo stesso e il form si svuota e sono costretto a riscrivere tutti i dati

    ecco perchè sto facendo questa differenziazione tra form normale e non.
    per form normale intendo un form costruito in puro html senza jquery mobile di torno.
    meglio di così nn so spiegarmi.

  6. #6
    e aggiungo anche che se il form nn è validato dopo l'alert viene cmq fatto il submit.
    me ne sono accorto perchè nel db mi ritrovo un sacco di voci sballate.
    se disattivo jquery mobile questo nn succede.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    prova cosi:
    codice:
    <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" data-ajax="false" class="ui-body ui-body-a ui-corner-all" onsubmit="return valida(this);">

  8. #8
    si mi hai anticipato.
    ho trovato la pagina della doc giusta e ho provato.
    così il form si blocca e basta.
    grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.