Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    non inviare un modulo^_^

    ciao!^^

    c'è qualcuno che ha uno script che fa in modo che un form non sia inviato se i campi non sono stati tutti compilati?

    grazie mille
    ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    codice:
    function checkForm() {
     var f=document.forms['nomeForm'];
     for (var i=0; i<f.length; i++) {
      if(f.elements[i].valur=="" || f.elements[i].valur=="undefined") {
       window.alert("Non hai inserito tutti i campi");
       f.elements[i].focus();
       break;
      } 
     }
    }
    Devi richiamare questa funzione all'evento onSubmit del form, oppure all'evento onClick di un bottone di tipo Submit

  3. #3

    grazie!!!!

    ah ok quindi non posso dirgli anche quale dei campi non hanno compilato

    lo provo!

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    Certo che puoi dire quale campo non è stato compilato, ti basta modificare la funzione in questo modo:
    codice:
    function checkForm() {
     var f=document.forms['nomeForm'];
     for (var i=0; i<f.length; i++) {
      if(f.elements[i].valur=="" || f.elements[i].valur=="undefined") {
       
       var campo=f.elements[i].name;
       window.alert("Non hai inserito un valore per il campo "+campo);
       
       f.elements[i].focus();
       break;
      } 
     }
    }

  5. #5
    ho messo cosi: (il mio form si chiama form1)
    questo nell'head

    function checkForm() {
    var f=document.forms['form1'];
    for (var i=0; i<f.length; i++) {
    if(f.elements[i].valur=="" || f.elements[i].valur=="undefined") {

    var campo=f.elements[i].name;
    window.alert("Non hai inserito un valore per il campo "+campo);

    f.elements[i].focus();
    break;
    }
    }
    }

    e questo nel body

    <form name="form1" method="post" action="op_inserisci_immobile.asp">

    ....
    ...
    ..

    <input type="submit" onClick="checkForm();" name="Submit" value="SALVA SCHEDA">

    ma non succede niente^^
    quando clicco il bottone e il form non è stato tutto compilato mi processa la mia pagina di action..

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    Scusa, errore di battitura: sostituisci
    codice:
    if(f.elements[i].valur=="" || f.elements[i].valur=="undefined")
    con
    codice:
    if(f.elements[i].value=="" || f.elements[i].value=="undefined")

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Nabiky
    ho messo cosi: (il mio form si chiama form1)
    questo nell'head
    ...

    ma non succede niente^^
    quando clicco il bottone e il form non è stato tutto compilato mi processa la mia pagina di action..
    Manca il return false e il return nella chiamata alla funzione:

    codice:
    function checkForm() {
    
      var f=document.forms['form1'];
      for (var i=0; i<f.length; i++) {
        if(f.elements[i].valur=="" || f.elements[i].valur=="undefined") {
       
          var campo=f.elements[i].name;
          window.alert("Non hai inserito un valore per il campo "+campo);
       
          f.elements[i].focus();
          return false;
        } 
      }
      return true;
    }
    e questo nel body

    <form name="form1" method="post" action="op_inserisci_immobile.asp" onSubmit="return checkForm();">

    ....
    ...
    ..

    <input type="submit" name="Submit" value="SALVA SCHEDA">

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    no ancora no..
    mi processa ancora la action del form (ovviamente con i campi vuoti) senza farmi uscire la finestra alert...

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Con la correzione di secan di prima (mi era sfuggita) !!

    Se ancora no nfunziona posta il tuo script e la chiamata.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Grazie al mitico albis ora funziona

    posto la il codice funzionante nel caso in cui servisse a qualcuno^_^

    <script language="JavaScript">
    function checkForm() {
    var f=document.forms['form1'];
    for (var i=0; i<f.length; i++) {

    if(f.elements[i].value=="" || f.elements[i].value=="undefined") {

    var campo=f.elements[i].name;
    window.alert("Non hai inserito un valore per il campo "+campo);

    f.elements[i].focus();
    return false
    break;
    }

    }
    return true
    }
    </script>

    <form id=form1 name=form1 onsubmit="return checkForm()" method="post" action="op_inserisci_immobile.asp">

    <input type="submit" name="Submit" value="SALVA SCHEDA">



    grazie mille a tutti!

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.