Comunidad de diseño web y desarrollo en internet online

problema validar formularios

Citar            
MensajeEscrito el 05 Mar 2008 08:30 pm
el problema es que soy muy inexperta con JavaScript y cree un formulario en dreamweaver, a los campos de texto les agregue comportamientos, me aparece codigo java y me valida que los campos sean diligenciados correctamente , el problema es cuando pulso el boton enviar me muestra el error pero de todas maneras a veces deja almacenar en la base de datos, coloque comportamientos tanto en las cajas de texto como en el boton para que cuando estuviese en blanco no me dejara almacenar en la BD;

Como hago para que hasta que los datos no esten correctos no permita almacenar en la bd?
colaboracion PLIS anexo codigo:

Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<link href="../css/style_list.css" rel="stylesheet" type="text/css" />
<script type="text/JavaScript">
<!--
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[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].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[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.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>

<body>
<div align="center" id="titulo">CONTACTENOS</div>
<form action="../php/mensaje_prod.php" method="POST" > 
<p>&nbsp;</p>
<table width="376" border="0" align="center">
  <tr>
    <td width="65">Nombre:</td>
    <td width="301"><input name="nombre" type="text" onblur="MM_validateForm('nombre','','R');return document.MM_returnValue" size="50" />
    </td>
  </tr>
  <tr>
    <td>E-mail:</td>
    <td><input name="correo" type="text" onblur="MM_validateForm('correo','','RisEmail');return document.MM_returnValue"  size="50" /></td>
  </tr>
  <tr>
    <td>Ciudad:</td>
    <td><input name="ciudad" type="text" onblur="MM_validateForm('ciudad','','R');return document.MM_returnValue" size="50" /></td>
  </tr>
  <tr>
    <td>Asunto</td>
    <td><input name="asunto" type="text" onblur="MM_validateForm('asunto','','R');return document.MM_returnValue" size="50" /></td>
  </tr>
  <tr>
    <td colspan="2"><div align="center">Mensaje:</div></td>
  </tr>
  <tr align="right">
    <td height="56" colspan="2"><textarea name="mensaje" cols="60" rows="3" onblur="MM_validateForm('mensaje','','R');return document.MM_returnValue"></textarea>
    </td>
  </tr>
</table>
<p align="center">
  <label>
  <input name="mensaje_prod" type="submit" onclick="MM_validateForm('nombre','','R');MM_validateForm('ciudad','','R');MM_validateForm('asunto','','R');MM_validateForm('mensaje','','R');MM_validateForm('correo','','RisEmail');return document.MM_returnValue"  value="Enviar" />
  </label>
</p>
<p>&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">
  <label></label>
</p>
<p>&nbsp;</p>
</form>
</body>
</html>


CLAUDIA


Por favor la próxima vez usar las etiquetas CODE para no descuadrar el foro. Gracias :bofh:

Por claudita

11 de clabLevel



Genero:Femenino  

colombia

msie
Citar            
MensajeEscrito el 05 Mar 2008 08:45 pm
validando con "onblur"???
:?

Te diría que buscases sistemas de validación más adecuados.
Y también te diría, que postearas en su sitio adecuado.
XHTML, CSS, Javascript y AJAX
Expertos y novatos en el diseño web de la manera correcta con estándares web.


Al margen... te diría que no uses Dreamweaver, o al menos... que lo hagas desde el "modo código-fuente"
Si no... Dreamweaver te llena de "mierda" el código.
Tampoco es adecuado que diseñes con tablas... lo adecuado, son los DIV.

Te recomiendo que te pongas al día con el xHTML + CSS.
Y luego... lo básico de javascript... pues estas dos (tres) cosas, son el futuro.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 05 Mar 2008 08:51 pm
el onblur lo coloca dreamwevaer puesto que no se poco o nada de JavaScript y lo de tablas es a gusto personal; te agradezco la recomendacion la tendre en cuenta pero en este momento no tengo tiempo para realizar el proyecto y debo hacerlo con lo que hasta el momento conozco .. gracias

Por claudita

11 de clabLevel



Genero:Femenino  

colombia

msie
Citar            
MensajeEscrito el 05 Mar 2008 10:14 pm
Lo muevo a XHTML, CSS, Javascript y AJAX

Por Zarzamora

BOFH

3056 de clabLevel

3 tutoriales
12 articulos

 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.