Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    11

    Info radio button - help!!

    Ciao a tutti,

    vi faccio una domanda semplice semplice, che io non ci capisco nulla di java.
    Devo creare un form per l'invio di una newsletter . In questo si chiede una mail valida e il consenso al trattamento dei dati sensibili .

    Per la prima cosa nessun problerma: ho trovato un codice valido.
    Al contrario, per il consenso, non so come fare: ho creato una riga con 2 radio buttons (accetto e non accetto) il primo dei quali va OBBLIGATORIAMENTE selezionato per avere la newsletter.

    Il codice che ho usato per inserire una mail valida è questo:

    function MM_validateForm() { //v4.0
    var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.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 == '');
    }
    //-->
    </script>

    Tutto è attivato da questa riga nel tag <form>:

    onsubmit="MM_validateForm('email','','RisEmail');r eturn document.MM_returnValue"

    Ora devo trovare un'opzione che mi segnali unpopup di errore se lascio selezionato "non_accetto" e che invece dia il via libera se seleziono "accetto".

    Chi mi aiuta? Grazie a tutti!
    Tommaso

  2. #2
    se il ratio che devi controllare ha un id="checkperforza"
    basta mettere sul tasto del submit un onclick=return document.getElementById("checkperforza").checked;
    W magica ROMA!

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    11
    Grazie, già così potrebbe andare.
    A me però piacerebbe che la mancata accettazione comparisse nel popup che segnala la mail scorretta. Oppure in un altro popup, insomma.

    Inoltre i due radio hanno lo stesso name, anche se value diversi, perchè vanno spuntati alternativamente.

    C'è una soluzione?

    Grazie davvero.
    t

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da skorpions
    basta mettere sul tasto del submit un onclick=return document.getElementById("checkperforza").checked;
    molto discutibile

    ci sono browser che eseguiranno comunque il submit anche se all' onclick ritorna false
    l' unico modo per prevenire sicuramente un submit (ovviamente dove javascript e' abilitato e lo script non genera errori) e' far ritornare false all' onsubmit del form

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    11
    Davvero nessuno che mi può aiutare?

    Ho pensato che è anche possibile togliere i due radio e mettere un singolo checkbox, tanto per il consenso va bene anche un singolo check....

    Così è più facile. E' solo la validazione di un checkbox...
    Grazie: scusate ma per me il java è arabo...

    Tom

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    lascia perdere quella roba di dreamweaver che e' inseguibile,
    questo e' il minimo indispensabile
    codice:
    <script type="text/javascript">
    function verifica(f){
      if(f.email.value=='' || !f.email.value.match(/^([a-z0-9\-\.])+@([a-z0-9\-])+(\.[a-z]{2,6})+$/i)){
        alert('campo email vuoto o incorretto');
        return false
      }
      if(!f.datiPersonali.checked){
        alert('occorre autorizzare al trattamento dei dati personali');
        return false
      }
      return true
    }
    </script>
    <form onsubmit="return verifica(this)">
    <input type="text" name="email" />
    <input type="checkbox" name="datiPersonali" />
    <input type="submit" />
    </form>
    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    11
    Grazie mille Xinod,

    ho provato il tuo codice: è davvero molto semplice ed intuitivo, complimenti.
    Mi hai davvero levato le castagne dal fuoco (ed hai evitato che le mie, di castagne, finissero sulla graticola).
    A buon rendere.
    Buona giornata.
    Tommaso

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.