Foros del Web » Programando para Internet » Javascript »

Boton que no submitea.

Estas en el tema de Boton que no submitea. en el foro de Javascript en Foros del Web. Buenas Sres del Foro: tengo lo siguiente una funcion <script language="javascript"> function catalogo() { document.location.href='descargaMateriales.asp?cat alogo='+document.form3.selCatalogo.options[document.form3.selCatalogo.selectedIndex].value } </script> y un form: <form method="post" name="form3" action=""> ...
  #1 (permalink)  
Antiguo 14/09/2007, 09:15
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 3 meses
Puntos: 1
Boton que no submitea.

Buenas Sres del Foro: tengo lo siguiente

una funcion
<script language="javascript">
function catalogo()
{
document.location.href='descargaMateriales.asp?cat alogo='+document.form3.selCatalogo.options[document.form3.selCatalogo.selectedIndex].value
}
</script>

y un form:

<form method="post" name="form3" action="">

<td align=center>&nbsp;Catalogo:<br> &nbsp;&nbsp;<select name="selCatalogo" size="1" OnChange="catalogo()">


<td align="center">&nbsp;Descripcion<br>
<select name="selDescrip" size="1">


<td align="center" colspan="3"><input type="submit" name="btnGuardar" value="Guardar Material"></td>


</form>


La idea es que al seleccionar algo del selCatalogo y llamando a la func catalogo() envio por querystrin(recargando la pagina, es cierto) una variable que luego utilizo para hacer un select en el segundo combo. Hasta ahi todo bien, pero el boton de submit no submitea ya que en el form no tengo indicado el action al cual deberia dirijirse para guardar en base de datos esos items seleccionados.
Como deberia armar otra function que me permita enviar el form una vez que los combos muestren los datos solicitados?
Me hice entender?

Saludos.
__________________
Carlunchos
  #2 (permalink)  
Antiguo 14/09/2007, 10:21
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: Boton que no submitea.

Hola:

Con la cadena vacía en el action si que se hace submit, pero a la misma página...

Puedes usar el mismo evento submit del form para cancelar el envío si faltan campos:

<form onsubmit="return (campo1.value != '' && campo2.value != '')"...

Y tu función catalogo() podrías resumirla un poco, pasándole como parámetro el propio control o el formulario (this o this.form)... se simplificaría así:

function catalogo(f) {// usando this como parámetro
location.href='descargaMateriales.asp?catalogo=' + f.value;
}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 14/09/2007, 11:29
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 3 meses
Puntos: 1
Re: Boton que no submitea.

Que tul Caricatos:

los combos muestran de entrada un valor po defecto. Como te decia: el selCatalogo se llena de entrada y el otro, selDescrip, muestra el primer valor del campo Descripcion.
Al seleccionar otro item en selCatalogo, reenvio la pagina dejando selected el item seleccionado y a continuacion hago una consulta con esa variable que se llama como la func : catalogo.

La idea es que al tener los dos combos con 2 item seleccionados darle al submit para que mediante script de asp guardar esos valores y retornar automaticamente a la misma pagina para seguir seleccionando otros valores de combo y si se quiere, seguir grabando datos.

Me di cuenta de lo que me apuntaste: hace submit pero a la misma pagina, perdiendo los valores de los combos y no me dirije a la seccion guardar datos. Yo quisiera tener una func para recargar la pagina y otra para guardar los datos (o sea para el submit)

De todas maneras , estoy probando lo que me apuntaste.

Saludos.
__________________
Carlunchos
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 06:54.