Foros del Web » Programando para Internet » Javascript »

submit de form con imagen

Estas en el tema de submit de form con imagen en el foro de Javascript en Foros del Web. Parece que hago tarea, jeje... Tengo una ventanita de inicio de sesión, Código HTML: <SCRIPT language= "JavaScript" type= "text/javascript" > function asesion(){ if (form.usr.value == ...
  #1 (permalink)  
Antiguo 03/10/2005, 13:35
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
submit de form con imagen

Parece que hago tarea, jeje...

Tengo una ventanita de inicio de sesión,
Código HTML:
<SCRIPT language="JavaScript" type="text/javascript">
function asesion(){
 if (form.usr.value == '') {
  alert ('Nick vacío');
  } else {
    if(document.iniciar.clv.value == '') {
     alert ('Contraseña vacía');
    } else {
       document.iniciar.submit();
      }
    }
  return null;
}
</SCRIPT>

<FORM name="iniciar" action="encuesta2.php">
  <table align="center" border="0" cellpadding="2" cellspacing="2">
    <tbody>
      <TR>
        <TD>Nick:</TD>
        <TD><INPUT type="text" name="usr" size="20"></TD>
      </TR>
      <TR>
        <TD>Clave:</TD>
        <TD><INPUT type="password" name="clv"></TD>
      </TR>
    </tbody>
  </table><hr>
  <table align="center">
    <tbody>  
      <TR>
        <TD align="center" height="40" colspan="2">
          <A href="javascript:document.iniciar.submit();"><IMG src="encuesta/submit.jpg" border="0"></A>
        </TD>
      </TR>
    </tbody>
  </table>
</FORM> 
Como ven, lo que tengo para hacer el submit, es una imagen... (eso, lo obtuve en el FAQ 40 de Formularios), pero, no me funciona...
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 03/10/2005, 15:38
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
digo... no me funciona la validación... se me va directo a hacer el submit...
__________________
Gracias de todas todas
-----
Linux!
  #3 (permalink)  
Antiguo 04/10/2005, 01:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Es que lo que hace tu enlace es solo el submit...

Para que una imagen haga submit está el input type=image y el validador deberías ponerlo en el tag form asociado al manejador de eventos onsubmit...

<FORM name="iniciar" action="encuesta2.php" onsubmit="return asesion()">

Y en el script hacer que devuelva false para cancelar el envío (y true para pasar la validación)...

Con lo que tienes, te bastaría con poner en el enlace en vez del submit la llamada al script, pero en mi opinión la manera correcta es como te he comentado antes.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 04/10/2005, 08:53
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
vale... lo he dejado así,
Código HTML:
<SCRIPT language="JavaScript" type="text/javascript">
function asesion(){
 if (document.iniciar.usr.value == '') {
  alert ('Nick vacío');
 } else {
  if(document.iniciar.clv.value == '') {
   alert ('Contraseña vacía');
  } else {
   document.iniciar.submit();
  }
}
return null;
}
...
<FORM name="iniciar" action="encuesta.php" onsubmit="return asesion(this)">
...
<TD align="center" height="40" colspan="2">
<A href="#" onclick="javascript: asesion();"><IMG src="encuesta/submit.jpg" border="0"></A>
</TD> 
__________________
Gracias de todas todas
-----
Linux!
  #5 (permalink)  
Antiguo 04/10/2005, 09:00
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Ahora fíjate que, algo muy parecido estoy haciendo, para validar una encuesta...
Código HTML:
<SCRIPT language="JavaScript" type="text/javascript">
function asesion(){
  if (document.iniciar.usr.value == '') {
     alert ('Nick vacío');
  } else {
     if(document.iniciar.clv.value == '') {
       alert ('Contraseña vacía');
     } else {
         document.iniciar.submit();
     }
  }
  return null;
}
</SCRIPT>
..
<FORM action="encuesta2.php" name="fvotar" onsubmit="return votar(this)">
<table align="center" border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <TR>
      <?php
        $k=4;
        $vs=pg_fetch_array($r_consulta, 0, PGSQL_NUM);
        while ($vs[$k]<>NULL) { ?>
     <TD width="30"><INPUT type="radio" name="opc" value="<?php echo $k; ?>"></TD>
      <TD><?php echo $vs[$k]; ?></TD>
      <td><?php echo $k; ?></td>
    </TR>
    <?php $k++; } ?></tbody>
</table>
<table align="center">
  <tbody>  
    <TR>
      <TD align="center" height="40" colspan="2">
        <A href="#" onclick="javascript: votar();">
          <IMG src="encuesta/submit.jpg" border="0"></A></TD>
    </TR>
  </tbody>
</table>
</FORM> 
y esta vez, ni siquiera pasa el valor del boton de radio, para validarlo...
__________________
Gracias de todas todas
-----
Linux!
  #6 (permalink)  
Antiguo 04/10/2005, 10:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

return null y return false son cosas distintas, y en el segundo ejemplo estás validando con una función "votar" que no veo definida.

Te recomiendo que te acostumbres a usar botones submit e image para enviar, y las validaciones con el evento onsubmit de los form... (Creo que es lo correcto)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 04/10/2005, 12:15
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
upss, sorry, copie y pegue, pero mal...

Vale, las recomendaciones son aceptadas, sólo que en este caso, estoy trabajando sobre algo empezado que no puedo cambiar...

Gracias de todas todas
__________________
Gracias de todas todas
-----
Linux!
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 14:51.