Foros del Web » Creando para Internet » HTML »

problemas con formularios

Estas en el tema de problemas con formularios en el foro de HTML en Foros del Web. hola espero que alguien me pueda ayudar a entender esto, hice el siguiente codigo pero cuando pongo el cursor en textfield3 y presiono Enter se ...
  #1 (permalink)  
Antiguo 11/10/2009, 14:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 73
Antigüedad: 15 años, 1 mes
Puntos: 1
problemas con formularios

hola espero que alguien me pueda ayudar a entender esto, hice el siguiente codigo pero cuando pongo el cursor en textfield3 y presiono Enter se ejecuta el submit (como es de esperarse) pero tambien se ejcuta el onclick de imageField.

alguien sabe por que y como evitarlo?

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>
</head>

<body>

<script type="text/javascript">
	function a()
	{
		document.getElementById("textfield5").value = "qwerty";
	}
</script>

<form name="" action="" onsubmit="alert('ok submit'); return false;" enctype="application/x-www-form-urlencoded">
<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td>a</td>
    <td><input type="text" name="textfield1" /></td>
    <td><input type="image" name="imageField" src="img.png" width="40" height="40" onclick="a()" /></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>b</td>
    <td><input type="text" name="textfield2" /></td>
    <td><input type="submit" onclick="alert('click submit');" /></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>c</td>
    <td><input type="text" name="textfield3" /></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>d</td>
    <td><input type="text" name="textfield4" /></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>e</td>
    <td><input type="text" name="textfield5" /></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</form>

</body>
</html>
  #2 (permalink)  
Antiguo 11/10/2009, 16:31
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: problemas con formularios

los input tipo image tambien son tipo submit. o sea, cuando se presiona el formulario se envia. lo que cambia entre los tipos image y submit es que con image se utiliza una imagen y en adicion envia las coordenadas donde se presiono en la imagen. ahora, la razon por la que se ejecuta el script de image es porque al presionar Enter se usa el primer boton con funcion submit que aparece en el documento. intercambia los botones haciendo el boton tipo submit quede en la fila "A" y el imagen en la fila "B" y veras de lo que te hablo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 12/10/2009, 23:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 73
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: problemas con formularios

ahhhh tienes toda la razon yo crei que los image era como button. me has ayudado mucho, muchas gracias.

osea que corri con suerte al reproducir el error (por que mi verdadero error estaba en una pagina con muchos mas elementos, pero por motivos de simplicidad y para no enredar a los lectores lo hice en una pag nueva) .

pues muchas gracias. eso era todo, el orden de los submut o image.
+1
  #4 (permalink)  
Antiguo 13/10/2009, 00:30
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: problemas con formularios

com detalle adicional. no se cual es el motivo pero si quieres tener un boton normal en forma de imagen aplicale CSS. por supuesto, un boton normal no hace nada en si.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 13/10/2009 a las 00:47
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 11:41.