Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    4

    validate checkbox IE7 e Firefox

    Chiedo aiuto per un problema per me (non conosco purtroppo javascript), irrisolvibile.

    ho una pagina con un form e lo script che fa il validate. la parte finale è stata da me "modificata" ad intuito con un taglia e incolla per aggiungere alla verifica dei campi, anche quella di una casella checkbox (che deve essere spuntata per inviare il form).

    su firefox funziona tutto a meraviglia, su IE7 invece un errore rende tutto inutilizzabile. Pare che "SPUNTA" (che nel form è il "name" e "id" della checkbox) non sia definito o non sia un oggetto.

    il riferimento è a questa istruzione "if(spunta.checked==false) errors+='Privacy terms authorization needed | Accettare norme privacy\n' ;"

    se aggiungo "var spunta" l'errore non compare più ma viene ignorata e non funziona nè su ie7 nè su firefox.

    qualcuno mi può aiutare?
    mille grazie, di seguito ecco lo script
    alessandro


    <script type="text/JavaScript">
    <!--

    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+' must contain an e-mail address.\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+' is required. | inserimento necessario\n'; }



    }

    if(spunta.checked==false) errors+='Privacy terms authorization needed | Accettare norme privacy\n' ;
    if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');


    }
    //-->
    </script>

    ......
    <form action="/includes/inviomail.asp" method="POST" onsubmit= "MM_validateForm('email','','RisEmail','name','',' R','tel','','R','surname','','R','address','','R', 'city','','R','zip','','R','prov','','R','strstate ','','R','strprivacy','','R','password','','R','me ssage','','R');return document.MM_returnValue;" >
    ........

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    cambia questa riga:
    var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
    con queste:
    var i,p,q,nm,test,spunta,num,min,max,errors='',args=MM _validateForm.arguments;
    spunta = document.getElementById("spunta");

    Attenzione javascript distingue da maiuscole a minuscole pertanto SPUNTA è diverso da spunta.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    4
    perfetto, mille grazie davvero
    alessandro

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.