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

    Autenticazione campo checkbox

    Ciao a tutti.
    Sono neofita in js!
    In una form di inserimento è presente un campo di tipo checkbox. Esso da la possibilità all'utente di accettare o meno la normativa sulla privacy.
    Di default è "non cekkato".

    Vorrei che se il valore del check è "non checcato" non continua la processazione e obbliga l'utente ad accettare la normativa!!!

    Grazieee!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
    function convalida(f){
    if(!f.nomeCheckbox.checked){
    alert('accettare la normativa prima di procedere!');
    return false;
    }
    return true;
    }
    
    <form onsubmit="return convalida(this)">
    <input type="checkbox" name="nomeCheckbox" />
    <input type="submit" />
    </form>
    pero' sono certo che con una ricerca avresti risolto piu' rapidamente!

  3. #3
    lo so hai ragione!
    Per quanto riguarda il form che contiene il check, è dichiarato:

    codice:
    <form action="formcdosys_allegato.asp" method="post" name="form1" 
    onSubmit="MM_validateForm('email','','RisEmail');return document.MM_returnValue">
    La funzione di validazione è complessa:

    codice:
    function MM_validateForm() { //v4.0
      var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
      for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
        if (val) { nm=val.name; if ((val=val.value)!="") {
          if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
            if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve essere valida.\n';
          } else if (test!='R') { num = parseFloat(val);
            if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
            if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
              min=test.substring(8,p); max=test.substring(p+1);
              if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+'                and '+max+'.\n';
        } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' necessaria.\n'; }
      } if (errors) alert('Inserire email valida:\n'+errors);
      document.MM_returnValue = (errors == '');
    }
    Ovviamente non l'ho fatta io!!!
    Dove andrebbe messo il codice che mi hai dato tu?

    Grazie, scusa ma sono proprio scarso!

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non mi ci far mettere mano a quella funzione che mi sono rotto un braccio e sono giorni che vedo le stelle

    modifica solo l' onsubmit
    codice:
    <form action="formcdosys_allegato.asp" method="post" name="form1" 
    onSubmit="MM_validateForm('email','','RisEmail');return (document.MM_returnValue && convalida(this))">
    e lascia la funzione che ho postato cosi' com e' (cambiando solo nomeCheckbox con il name che ha il checkbox nel tuo form)

    ciao

  5. #5

    Continua a non funzionare

    Raga scusate, è una stupidaggine, ma non funziona!
    Non riesco ad autenticare sto cavolo di check...
    Come da consiglio, ecco la form:

    codice:
    <form action="formcdosys_allegato.asp" method="post" name="AmmForm" 
      onsubmit="return convalida(this)">
    
    ...
    
    <input type="checkbox" name="accetto">
    
    -----------------------------------------------------------------------
    Funzione JS
    
    function convalida(f)
    {
    	if(!f.accetto.checked){
    		alert('accettare la normativa prima di procedere!');
    	return false;
    }
    	return true;
    }
    Il campo check è non checcato di default. Se lo chekko viene passato dalla form come "accettato=on" !!!

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    mi risulta funzionare

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 © 2024 vBulletin Solutions, Inc. All rights reserved.