Foros del Web » Programando para Internet » Javascript »

No me hace submit (?)

Estas en el tema de No me hace submit (?) en el foro de Javascript en Foros del Web. A ver, tengo un form de lo más normalito: Código: function valida_tema(){ if(document.buscaord.id_tema.value == ""){ alert("Debe seleccionar un Tema para iniciar la búsqueda"); } else{ ...
  #1 (permalink)  
Antiguo 07/02/2007, 13:38
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
No me hace submit (?)

A ver, tengo un form de lo más normalito:

Código:
function valida_tema(){
	if(document.buscaord.id_tema.value == ""){
		alert("Debe seleccionar un Tema para iniciar la búsqueda");
	}
	else{
		document.buscaord.submit();
	}
}
...
...
<form id="buscaord" name="buscaord" method="post" action="ord_busca.php" class="formus">
<select name="id_tema" class="campos" id="id_tema">
	    <option value="" selected="selected">-- Seleccione --</option>
	    <option value="1">Tarifaria y Fiscal</option>
	    <option value="2">Instalaci&oacute;n</option>
	    <option value="3">Planeamiento Urbano</option>
	    <option value="4">Medio Ambiente</option>
	  </select>
...
..
<input name="Button" type="button" id="submit" value="Buscar" onclick="valida_tema();" />
</form>

Si está seleccionada la opción "-- Seleccione --" el alert se hace bien. Si tengo alguna otra opción seleccionada me dice Error: document.buscaord.submit is not a function

¿Qué me pasa? Lo veo todo normal...
__________________
...___...
  #2 (permalink)  
Antiguo 07/02/2007, 13:44
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: No me hace submit (?)

Hola Al

El problema es por el id del botón, que le has puesto submit, cambialo por otro id y te funcionará:

<input name="Button" type="button" id="submite" value="Buscar" onclick="valida_tema();" />


No entiendo bien por qué pasa eso, pero pasa

Saludos,
  #3 (permalink)  
Antiguo 07/02/2007, 13:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: No me hace submit (?)

Hola Dazu:

No le pongas id=submit que puede crear confusión... de todos modos no es una forma del todo correcta para hacer validaciones... es mejor usar el onsubmit del tag form y si recibe false se cancela...

<form onsubmit="return valida_tema(this)" ...

function valida_tema(f) {
ok = f.id_tema.value != "";
if (!ok) alert("Debe seleccionar un Tema para iniciar la búsqueda");
retutn ok;
}

Así seguro que va a funcionar... el this (equivale a f -> form) es una buena costumbre para reutilizar el código...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 07/02/2007, 14:13
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Re: No me hace submit (?)

Hey, gracias a ambos!
Esto pasa por auto-copipastearme formularios sin prestar mucha atención (y ahogarme en un vaso de cerv... agua)

Cita:
No entiendo bien por qué pasa eso, pero pasa
Yo, ahora, creo que si entiendo: es que document.buscaord.submit no es una función, ¡es un *uto botón!

Cita:
...de todos modos no es una forma del todo correcta para hacer validaciones...
Entiendo. Bah, creo entender que te referís a que si por ejemplo el cliente tiene deshabilitado javascript, el submit nunca se produciría porque está haciendo click sobre un estéril botón... en cambio si lo hago sobre el evento onsubmit del formulario, por más que tenga deshabilitado javascript, el submit SI se produce (pero tendría que encargarme de validar en el servidor). ¿Es correcto lo que digo?

Con respecto a la forma para reutilizar código, comparto 100%... pero la verdad que soy tan torpe para el javascript que hago lo que puedo

Salud
__________________
...___...
  #5 (permalink)  
Antiguo 07/02/2007, 14: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
Re: No me hace submit (?)

Cita:
Iniciado por Al Zuwaga Ver Mensaje
... en cambio si lo hago sobre el evento onsubmit del formulario, por más que tenga deshabilitado javascript, el submit SI se produce (pero tendría que encargarme de validar en el servidor). ¿Es correcto lo que digo?

Con respecto a la forma para reutilizar código, comparto 100%... pero la verdad que soy tan torpe para el javascript que hago lo que puedo

Salud
Hola:

Sip, siempre es aconsejable validar también en el servidor, y si por estar deshabilitado javascript en el cliente se hace submit se pierde algo más de tiempo pero "no cuela".

No creo en tu "torpeza"... te he visto dar respuestas muy buenas... aunque me parece que a veces te da un poco de "fiaca"

Saludetes
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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:31.