• User Attivo •

    infatti ci avevo provato, ma i miei limiti in materia mi hanno bloccato!

    allora...in corrispondenza del campo di testo per l'email risulta semplicemente:

    <input type="text" name="email" size="20">

    pero' all'inizio del form viene dichiarato questo:

    <form action="formcdosys.asp" method="post" name="form1" onSubmit="MM_validateForm('cap_zip','','NisNum','email','','RisEmail');return document.MM_returnValue">

    quindi....per validare il form cap_zip dev'essere un numero...
    e email dev'essee un email!!....

    purtroppo non mi aiuta molto!!!:?:?

    forse a te si' pero'..... 😉
    thnxx!


  • User Attivo •

    Ti sposto nella sezione asp asp.net li troverai sicuramente persone piu' preparate di me per questo problemino 😉


  • User Attivo •

    Con quale tool stai costruendo questa form? Poi mi serve anche l'html della form e la funzione "MM_validateForm" che suppongo venga creata automaticamente....


  • User Attivo •

    ho preso il template di aruba e ho aggiunto i campi che mi servono in dreamweaver

    <form action="formcdosys.asp" method="post" name="form1" onSubmit="MM_validateForm('cap_zip','','NisNum','email','','RisEmail');return document.MM_returnValue">
    

    il checkbox in questione e' questo:

    <input name="privacy" type="checkbox" id="privacy" value="acconsente">


  • User Attivo •

    Ok, se mi dai anche la funzione javascript MM_validateForm ti scrivo la riga di codice che devi aggiungerci per fare il controllo sulla checkbox.


  • User Attivo •

    <!--
    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d)&&d.all) x=d.all; for (i=0;!x&&i<d.forms.length;i++) x=d.forms*;
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers*.document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    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*);
    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 == '');
    }

    questo?


  • User Attivo •

    Allora, perfetto. Devi aggiungere questa riga di codice nella parte finale della funzione (ti ricopio parte della funzione per farti capire)

    Il codice da aggiungere è il seguente

    
    val = MM_findObj('chkControllo'); if(!(val.checked)) { errors += ' - Devi mettere la spunta'; } 
    
    

    Dove al posto di chkControllo ci devi mettere l'ID della tua checkbox (se non lo ha metticelo).

    Questo codice lo devi inserire verso la fine di quello che mi hai mandato, precisamente qui:

    
    } if (errors) alert('Inserire email valida:\n'+errors);
    
    

    Tra la parentesi graffa e "if (errors)"

    Il risultato deve essere:

    
    } val = MM_findObj('chkControllo'); if(!(val.checked)) { errors += ' - Devi mettere la spunta'; }
     if (errors) alert('Inserire email valida:\n'+errors);
    
    

    Mi raccomando non scordarti la parentesi graffa. Fai un pò di test e facci sapere.


  • User Attivo •

    funziona perfettamente!!
    grazie tante!!
    😄


  • User Attivo •

    unica cosa....
    ora nella mail che viene generata da formcdosys.asp non risulta piu' il valore del checkbox "privacy"........
    mmmm....


  • User Attivo •

    Sei sicuro che prima comparisse? perché la funzione che ti ho dato non altera nulla del html, è solo un controllo che stampa un alert, e non dovrebbe toccare nulla della struttura precedente... nel caso prima funzionava postami la parte di formcdosys.asp che prende il valore privacy.