Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    Problemi con validazione form

    [supersaibal]<script>
    function validate() {
    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    if (!email_reg_exp.test(document.aziende.email.value) {
    alert("Il campo \"Email\" non è valido");
    document.aziende.email.focus();
    return false;
    }
    elseif (document.aziende.nome.value == "") {
    alert("Il campo \"Nome\" è vuoto");
    document.aziende.nome.focus();
    return false;
    }
    elseif (document.aziende.provincia.length > 3) {
    alert("Il campo \"Provincia\" ha una lunghezza illegale");
    document.aziende.provincia.focus();
    return false;
    }
    else {
    return true;
    }
    </script>

    <table>
    <form name="aziende" action="?mID=aziende&page=Add.asp" method="post" enctype="multipart/form-data" onsubmit="validate()">
    <tr><td>Ragione sociale</td><td><input type="text" name="nome" size="50" /></td></tr>
    <tr><td>Città</td><td><input type="text" name="citta" size="20" />Provincia<input type="text" name="provincia" size="3" />C.A.P.<input type="text" name="cap" size="6" /></td></tr>
    <tr><td>Indirizzo Email</td><td><input type="text" name="email" size="20" /></td></tr>
    <tr><td colspan="2"><input type="submit" value="Inserisci Azienda" /></td></tr>
    </form>
    </table>[/supersaibal]


    Perchè non mi esegue la funzione e passa direttamente allo script dell'action?
    Se invece tolgo l'action dal tag form (ed anche il controllo onsubmit) e al posto dell'input submit metto un button con controllo onclick non mi va comunque nella funzione.
    Cos'è che sbaglio? :master:

  2. #2
    ciao puoi provare così:

    togli onsubmit dal tag form

    alla fine al posto di input submit metti un bottone che con onclick ti lancia validate()


    e alla fine di validate() se il controllo è ok ...
    document.aziende.submit();

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non sono d'accordo con Lorenzo.

    Il codice di VaLvOnAuTa e` corretto dal punto di vista HTML/JS; manca solo un return nella chiamata:
    onsubmit="return validate();">

    Normalmente lo script viene messo nella head, ed il form nel body.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Hai ragione, il mio sistema è un po' farraginoso (comunque funziona), però io non ho la forma mentis del programmatore, se non faccio le cose step by step faccio fatica.
    Comunque ho capito se onSubmit restituisce true il modulo parte...

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il tuo sistema e` farraginoso, ma funziona in parte: se fai l'invio del form tramite tastiera, la verifica non viene fatta.
    Inoltre se un browser non ha i JS abilitati, non c'e` modo di spedire il form (e questo e` un grave errore di accessibilita`, nonche` di usabilita`).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6

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.