Foros del Web » Programando para Internet » Javascript »

Form de Contacto

Estas en el tema de Form de Contacto en el foro de Javascript en Foros del Web. Buenas a todos tengo el siguiente codigo de un formulario de contacto con validacion en javascript. Siempre me ha funcionado pero ahora quiero añadir una ...
  #1 (permalink)  
Antiguo 02/12/2010, 08:20
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Exclamación Form de Contacto

Buenas a todos tengo el siguiente codigo de un formulario de contacto con validacion en javascript.
Siempre me ha funcionado pero ahora quiero añadir una cosa y no lo consigo hacer.
El codigo muestra un aviso cuando el valor es igual a cero, pero si le pongo un valor inicial,
¿que tengo que incluir en el codigo para que cuando sea igual al valor iniciar se muestre tambien el aviso ?para que asi no se envie el formulario con las variables nombre.apellidos....sino obligar al usuario a escribir a cada campo.

y por ultimo seria de lujo si alguien sabe como poner a cero el valor cuando hacemos click en el input de textos y no tener que borrar el valor inicial.

mi codigo html y javascript es el siguiente:
Código HTML:
<!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=utf-8" />
<title>formulario</title>
    <script type="text/javascript">
function valida_envia(){ 
	if (!document.registro.email.value.match("@"))
{ alert("Debe ingresar el Email o verifique que sea correcto.")
document.registro.email.focus()
return 0;
} 

	if (document.registro.nombre.value.length==0) {
       alert("Tiene que escribir su nombre")
       document.registro.nombre.focus()
       return 0;
    } 
if (document.registro.apellidos.value.length==0) {
       alert("Tiene que escribir sus apellidos")
       document.registro.apellidos.focus()
       return 0;
    } 
	if (document.registro.tel.value.length==0) {
       alert("Tiene que escribir su teléfono")
       document.registro.tel.focus()
       return 0;
    } 
	if (document.registro.comentario.value.length==0) {
       alert("Tiene que escribir un comentario")
       document.registro.comentario.focus()
       return 0;
    } 
	document.registro.submit(); 
	
	}
	</script>

</head>

<body>

<form id="registro" name="registro" method="post" action="registro.php">
<table width="228" height="220" border="0" align="center" cellpadding="5" cellspacing="0" class="tbmain">
  <tr>
    <td height="25" colspan="2" >&nbsp;</td>
    </tr>
  <tr>
    <td height="25" colspan="2"  style="font-size:14px; font-weight:bold;">Contacto</td>
    </tr>
  <tr>
    <td width="144" height="34" ><input name="nombre" type="text" id="nombre"  onblur="validate(this,'Required')" value="nombre" size="26" maxsize="100" /></td>
    <td width="164" >
      <input name="apellidos"  type="text" id="apellidos"  onblur="validate(this,'Required')" value="apellidos" size="26"  maxlength="100" maxsize="100" />
   </td>
    </tr>
  <tr>
    <td height="34" ><input name="tel" type="text" id="tel"  onblur="validate(this,'Required')" value="tel" size="26" maxsize="100" /></td>
    <td >
      <input name="email"  type="text" id="email" style=" padding-left: 10px;" onblur="validate(this,'Required')" value="email address" size="26"  maxlength="100" maxsize="100" />
  </td>
  </tr>
  <tr>
    <td height="34" colspan="2" style="padding-right:7px;">
      <textarea name="comentario" id="comentario" cols="57" rows="5"  onblur="validate(this,'Required')">comentario</textarea></td>
  </tr>
  <tr>
      </tr>
  <tr>
    <td height="34" colspan="2" style="padding-right:7px;"> <input type="button" name="Submit" class="btn"  value="enviar&gt;"  onclick="valida_envia()"/></td>
    </tr>
</table>
</form>
</body>
</html> 
Un saludo y Muchas Gracias
  #2 (permalink)  
Antiguo 02/12/2010, 08:36
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Form de Contacto

El value que tiene un campo por defecto se llama defaultValue en JS. Por tanto sól tienes que comprobar que el length no sea cero y (&&) que no sea el defaultValue. Por otro lado, esta función te sirve para lo de borrar el value de un campo:
Código Javascript:
Ver original
  1. function val(campo,valor,texto){
  2.  campo.value=campo.value==texto?valor:campo.value;
  3. }
Código HTML:
Ver original
  1. <input type='text' value='Hola' onfocus="val(this,'','Hola');" onblur="val(this,'Hola','');"
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 02/12/2010, 09:00
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: Form de Contacto

lo siento no entiendo lo que me dices y no se como imprementarlo a lo que tengo...
Es decir veo que me pones como poner los valores ....
pero no lo se lleva a cabo..no tengo mucho conocimiento de javascript como
pa escribirlo sin errores tal como me lo pones
  #4 (permalink)  
Antiguo 03/12/2010, 05:01
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: Form de Contacto

nadie puede ayudarme!! por favor!
  #5 (permalink)  
Antiguo 03/12/2010, 08:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Form de Contacto

Hola

Es muy sencillo. Tomando el ejemplo de @_cronos2

Cita:
function val(campo,valor,texto){
campo.value=campo.value==texto?valor:campo.value;
}


<input type='text' value='Hola' onfocus="val(this,'','Hola');" onblur="val(this,'Hola','');"
Esta línea campo.value=campo.value==texto?valor:campo.value; dice: Si la variable campo es igual a la variable texto, entonces en el textfield se imprime la imprime la variable valor, en caso contrario, se imprime la variable campo.
Para que lo veas realizado de otra manera que puede que te sea mas sencillo de ver
Código Javascript:
Ver original
  1. if(campo.value==texto) {
  2. campo.value = valor;
  3. } else {
  4. campo.value=campo.value;
  5. }
Ambos casos es lo mismo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: contacto, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:04.