Foros del Web » Programando para Internet » Javascript »

Problemas con href="javascript:

Estas en el tema de Problemas con href="javascript: en el foro de Javascript en Foros del Web. Buenas dias a todos, Tengo un problema, tengo que personalizar un boton de submit de formulario y he decidido hacerlo con un href. Esta formulario ...
  #1 (permalink)  
Antiguo 09/11/2009, 05:26
 
Fecha de Ingreso: abril-2008
Ubicación: BCN
Mensajes: 53
Antigüedad: 16 años, 6 meses
Puntos: 0
Problemas con href="javascript:

Buenas dias a todos,

Tengo un problema, tengo que personalizar un boton de submit de formulario y he decidido hacerlo con un href.

Esta formulario quiero validarlo primero y luego enviarlo todo a través del href, el problema es que no me funciona, he estado haciendo pruebas todo el dia y mirando por Internet y no encuentro donde esta el fallo.

Os muestro el código:

Formulario.html:
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=iso-8859-1" />
<title></title>
<link href="css/style.css" rel="stylesheet" type="text/css">
<script src="js/validar.js" type="text/javascript"></script>
</head>
<body>
 <form name="formreserva"   method="post"  action="enviar_PR.php">
<table width="576"  align="left">
   <tr>
   <td>
  Nombre:(*)
  </td>
  </tr>
  <tr>
   <td>
 <input name="nom" type="text" id="nom" size="70" maxlength="70" >
  </td>
  </tr>
  <tr>
  
  <td align="left">
        <a class="button" href="javascript:return Validar();document.formreserva.submit();"  ><span>enviar</span></a>
     </td>
  </tr>
  </table>
 

</form>
</body>
</html> 
El archivo javascript validar.js
Código:
//funcion para validar que el campo no este vacio

        function vacio(q) {  

           for ( i = 0; i < q.length; i++ ) {  

               if ( q.charAt(i) != " " ) {  

                       return true  

               }  

           }  

            return false  

        }
         
       
        //funcion que me recoge cada input del formulario

        function validacion(formreserva){  
		
		   if (vacio(formreserva.nom.value) == false){

                alert('Rellenar el campo Nombre')

                return false 

            }
			
        return true

        }
El caso es que en el punto:

Código:
<a class="button"href="javascript:return Validar();document.formreserva.submit();"  >
Ni valida ni envia, luego si pongo:

Código:
<a class="button"href="javascript:document.formreserva.submit();"  >
Luego si lo envia, sin validar claro

Código:
<a class="button"href="javascript:return Validar();"  >
De esta forma no valida nada

No ser, me podeis hechar un cable ?

Gracias
  #2 (permalink)  
Antiguo 09/11/2009, 05:49
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Problemas con href="javascript:

Hola

El primer problema es que no hay ninguna función que se llame Validar
Ahora, ¿solo quieres validar que ese único campo no esté vacío?

Código javascript:
Ver original
  1. function Validar(id){  
  2. if (document.getElementById(id).value == "") {
  3. alert('Rellenar el campo Nombre')
  4. } else {
  5. document.formreserva.submit();
  6. }
  7. }

Cita:
<a class="button" href="javascript:void(0);" onclick="Validar('nom');" ><span>enviar</span></a>
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;" />
  #3 (permalink)  
Antiguo 09/11/2009, 06:26
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Problemas con href="javascript:

Hola:

Los formularios tienen que validarse dentro del formulario, o si quieres usar un elemento externo, no puedes hacer una validación normal, y el submit debes forzarlo... el problema de los submit forzados es que no se valida desde el evento submit (vaya la redundancia)...

Pero lo que yo suelo aconsejar es que maquilles ese botón con estilos... puedes quitarle el fondo y el borde y que aparezca la mano de los enlaces... otra cosa es que los botones submit también pueden enviar información del botón pulsado.

Además, usando elementos inadecuados, se pierde todo el valor semántico.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 09/11/2009, 06:34
 
Fecha de Ingreso: abril-2008
Ubicación: BCN
Mensajes: 53
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Problemas con href="javascript:

Buenas y gracias caricatos y Adler

Obtaré tal y como dice caricatos por crear el boton con estilos, lo que decia Adler tiene razón, a sido un error mio al crear el mensaje ya que he puesto un ejemplo reducido de mi código para que se viere mas claro, al hacer las modificaciones he modificado los nombres por otros mas simples y entenedores y he cometido éste error.

Gracias y saludos
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 18:40.