Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/01/2007, 08:07
yayo_cev
(Desactivado)
 
Fecha de Ingreso: julio-2004
Ubicación: https://t.me/pump_upp
Mensajes: 69
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: Spammers en formulario ¿cómo evitarlos?

El formulario esta creado con dreamweaver y el codigo que genera es el siguiente:
Código HTML:
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+' debe ser una dirección de email válida.\n';
     } else if (test!='R') { num = parseFloat(val);
       if (isNaN(val)) errors+='- '+nm+' debe ser un número.\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+' es obligatorio.\n'; }
 } if (errors) alert('Han ocurrido los siguientes errores:\n'+errors);
 document.MM_returnValue = (errors == '');
}
Y para el formulario:
Código HTML:
<form name="form1" method="post" onSubmit="return validar('email','plantilla')" action="plantillas-webok.php">
                   <table width="67%" border="0" cellpadding="0" cellspacing="10" class="tablascontenido">
                     <tr>
                       <td width="32%" class="verdana10"><strong>Nombre:</strong></td>
                       <td width="68%"><input name="nombre" type="text" class="camposformulario" id="nombre" size="40"></td>
                     </tr>
                     <tr>
                       <td class="verdana10"><strong>Apellidos:</strong></td>
                       <td><input name="apellidos" type="text" class="camposformulario" id="apellidos" size="40"></td>
                     </tr>
                     <tr>
                       <td class="verdana10"><strong>E-mail:</strong></td>
                       <td><input name="email" type="text" class="camposformulario" id="email" size="40"></td>
                     </tr>
                     <tr>
                       <td class="verdana10"><strong>Teléfono:</strong></td>
                       <td><input name="telefono" type="text" class="camposformulario" id="telefono"></td>
                     </tr>
                     <tr>
                       <td class="verdana10"><strong>Plantilla elegida:</strong></td>
                       <td class="textopie"> <input name="plantilla" type="text" class="camposformulario" id="plantilla">
                         <br>
                         Introduzca la referencia de la plantilla de su agrado.
                         (Número naranja )</td>
                     </tr>
                     <tr>
                       <td class="verdana10"><strong>Observaciones:</strong></td>
                       <td><textarea name="consulta" cols="39" rows="4" class="camposformulario" id="consulta"></textarea></td>
                     </tr>
                     <tr>
                       <td class="verdana10"> </td>
                       <td><input name="Submit" type="button" class="boton-formulario" onClick="MM_validateForm('nombre','','R','apellidos','','R','email','','RisEmail','telefono','','RisNum','plantilla','','RinRange52:250');return document.MM_returnValue" value="Enviar">
                             <input name="Submit2" type="reset" class="boton-formulario" value="Borrar"></td>
                     </tr>
                   </table>
                 </form> 
En estos momentos tengo deshabilitado el botón enviar.
Saludos y muchas gracias por su ayuda