Foros del Web » Programando para Internet » Javascript »

Frames y formularios

Estas en el tema de Frames y formularios en el foro de Javascript en Foros del Web. Hola a todosss.. tengo un Problema.....vean el codigo Código PHP: < script language = "JavaScript" > function  llamada (){          window . location = "default.html" } ...
  #1 (permalink)  
Antiguo 21/06/2006, 20:41
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 18 años
Puntos: 1
De acuerdo Frames y formularios

Hola a todosss..

tengo un Problema.....vean el codigo



Código PHP:
<script language="JavaScript">
function 
llamada(){
        
window.location="default.html"
}
</script>

</head>

<body>
<div id="Layer1">
  <form id="form1" name="form1" method="post" action="envio.php">
    <p>&nbsp;</p>
    <p>
      <label>Enviar
      <input type="submit" name="Submit" value="Enviar" onclick="llamada();" />

    </label></p>
    </form>
</div>
</body>
</html> 
Como se pueden dar cuenta tengo un script en donde existe una funcion que se llama llamada, y ya dentro del html, tengo un formularioen donde la mando a llamar, pero no sucede nada....debe de aparecerme otra pagina y nada...solo se queda en el mismo sitio...como la puedo llamar.....

espero una respuesta...!! Gracias
__________________
El Futuro esta en Tus Manos...
  #2 (permalink)  
Antiguo 24/06/2006, 13:34
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
pos no sé qué puede estar sucediendo, pero ¿te das cuenta de que si funcionara como debe, el formulario nunca se enviaría y envio.php nunca recibiría los datos?

Saludos.
  #3 (permalink)  
Antiguo 24/06/2006, 16:06
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Me parece que la propiedad que tenés que modificar es href:
Código:
<script type="text/javascript">
function llamada(){
   window.location.href = 'default.html';
}
</script>
Igualmente, qué estás intentando hacer? quizás puede hacerse sin javascript.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #4 (permalink)  
Antiguo 25/06/2006, 16:20
Avatar de frogx3  
Fecha de Ingreso: abril-2003
Ubicación: Merida, Yucatan
Mensajes: 79
Antigüedad: 21 años
Puntos: 0
Esta puede ser tu solucion:
Código:
<script>
function llamada(){
	var form = 	document.form[0];	
	form.action = "default.html";
	form.target="ventana";
	window.open('', 'ventana') ;
 	form.submit();
}
</script>
Ojala te funcione chao
  #5 (permalink)  
Antiguo 25/06/2006, 17: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
Fatal...

El botón submit envía el formulario y el onclick hace un enlace... Si quieres abrir el enlace en otra ventana mejor sería usar window.open (con el segundo parámetro distinto de _self)

El evento onclick no debería usarse en botones submit a no ser que el formulario tenga un target a otra ventana... y se condicionan los envíos desde el onsubmit del form...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 26/06/2006, 00:04
Avatar de frogx3  
Fecha de Ingreso: abril-2003
Ubicación: Merida, Yucatan
Mensajes: 79
Antigüedad: 21 años
Puntos: 0
exactamente como dice caricatos te recomiendo uses la funcion que te puse mas arriba y aparte en tu codigo el boton le cambies el tipo de submit a button porque el submit te envia al archivo definido en el parametro action del form en cambio el buttom le haria caso a la accion definida en su parametro onclick...

Si piensas enviar el dato a un frame solo dale el mismo nombre que se la da al target en la funcion que te puse mas arriba chao... que te sirva chao
  #7 (permalink)  
Antiguo 26/06/2006, 09:43
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Si querés enviar el form a un frame, ponele target a un form. No necesitás Javascript.

Si querés enviarlo a un popup, alterá el action del form usando javascript, pero en el html poné ALGO en el action para que funcione sin javascript.

¿Un form sin un botón de submit? de vuelta, los sitios deberían funcionar aunque no tengas javascript, tené en cuenta que su función es enriquecer pero debería ser degradable.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #8 (permalink)  
Antiguo 27/06/2006, 15:25
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
problema con el onchange="this.form.submit()"

Estoy usando:

<select name="ClientePais" onchange="this.form.submit()" id="ClientePais" size="1">

Para que al cambiar el combo me llame a la misma pagina, esto llama a un codigo en php que me genera otros combos segun el pais escogido... eso esta funcionando bien....

El problema es que al usar este combo me el navegador me da este error:

Linea: 782
Car: 1
Error: El objeto no acepta esta propiedad o metodo
Codigo: 0
URl: localhost....

El problema en si es que no se interpretar el error y por ende no se que esta pasando con este codigo, he probado el mismo en otra pagina y funciona, quisas esta tenga algo diferente pero no puedo identificar que...
  #9 (permalink)  
Antiguo 29/06/2006, 00:26
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
Tema trasladado desde (x)html
  #10 (permalink)  
Antiguo 04/07/2006, 22:03
Avatar de frogx3  
Fecha de Ingreso: abril-2003
Ubicación: Merida, Yucatan
Mensajes: 79
Antigüedad: 21 años
Puntos: 0
quitale el form y dejalo con this.submit() chao
  #11 (permalink)  
Antiguo 05/07/2006, 01:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por frogx3
quitale el form y dejalo con this.submit() chao
Pues no creo que sirva, porque el submit es un método del tag (objeto) form... un objeto select no dispone de ese método... aunque tal vez se pueda definir, debería ser suficiente tal como indica customerboot.

Tal vez el problema sea otro... la definición del formulario... el action...
Te recomiendo que lo pruebes con mozilla u opera, y consultes la consola javascript... es mucho más fiable.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #12 (permalink)  
Antiguo 07/07/2006, 09:49
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Muchas gracias por Responder, la verdad es que he seguido los dos consejos:

Sin el form no ha funcionado.
Me instale el Netscape que tiene la opcion de probar con IE y Firefox
Prove en firefox y no me da error, simplemente no hace nada y en IE tampoco dio error.

Pondre el codigo mas rato, he visto recien el foro y la verad les agradesco mucho que me contestaran..

Saludos
  #13 (permalink)  
Antiguo 08/07/2006, 08:28
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
ok este es el codigo:
Código:
<form method="post" action="" name="Registro_Nuevo_Cliente_form" onsubmit="return ValidateForm(this)">
<select name="ClientePais" onchange="this.form.submit()" id="ClientePais" size="1">
<option value="" selected="selected">Pais</option>
<option value="30">Bolivia</option>
</select>
<input type="submit" name="UpdateDepartamento" value="Departamentos-&gt;" onclick="if(this.disabled || typeof(this.disabled)=='boolean') this.disabled=true ; form_submitted_test=form_submitted ; form_submitted=true ; form_submitted=(!form_submitted_test || confirm('Esta seguro de que quiere enviar el formulario otra vez?')) ; if(this.disabled || typeof(this.disabled)=='boolean') this.disabled=false ; sub_form='update' ; return true" />
<select name="ClienteDepartamento" onchange="this.form.submit()" id="ClienteDepartamento" size="1">
<option value="" selected="selected">Departamento/Estado</option>
</select>
<input type="submit" name="UpdateCiudad" value="Ciudades-&gt;" onclick="if(this.disabled || typeof(this.disabled)=='boolean') this.disabled=true ; form_submitted_test=form_submitted ; form_submitted=true ; form_submitted=(!form_submitted_test || confirm('Esta seguro de que quiere enviar el formulario otra vez?')) ; if(this.disabled || typeof(this.disabled)=='boolean') this.disabled=false ; sub_form='update' ; return true" />
<select name="ClienteCiudad" id="ClienteCiudad" size="1">
<option value="" selected="selected">Ciudad</option>
</select>
<input type="submit" name="submit" value="Guardar" onclick="if(this.disabled || typeof(this.disabled)=='boolean') this.disabled=true ; form_submitted_test=form_submitted ; form_submitted=true ; form_submitted=(!form_submitted_test || confirm('Esta seguro de que quiere enviar el formulario otra vez?')) ; if(this.disabled || typeof(this.disabled)=='boolean') this.disabled=false ; sub_form='' ; return true" id="button_NuevoCliente" accesskey="G" />
<input type="reset" value="Limpiar el Formulario" id="button_reset" accesskey="L" />
<input type="hidden" name="registro" value="" /><input type="hidden" name="doit" value="1" />
</form>
  #14 (permalink)  
Antiguo 08/07/2006, 11:34
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:

No sé que tiene tu código que cuando lo pruebo me devuelve un error de que this.form.submit no es un método... tal vez sea mejor que renombres el botón tipo submit con nombre submit... con eso va bien...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #15 (permalink)  
Antiguo 10/07/2006, 10:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Muchas gracias caricatos, he intentado hacerlo pero no me funciona, sucede que tengo tres botones, uno que me genera los departamentos otro para las ciudades y otro para el guardar.

Intente dejando un solo boton para los departamentos y ciudades y el de guardar y no ha funcionado...

Tambien intente dejando solamente el guardar pero no ha funcionado.

Por si acaso tambien cambien el Id del boton a submit.

Podrias pasarme el codigo de ejemplo de la forma en que a ti te funciono?, te lo agradeceria mucho, ya que no comprendo como hacer el cambio.

Un saludo
  #16 (permalink)  
Antiguo 10/07/2006, 10:27
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:

Al menos a mi me funcionó cambiar en esta línea:

<input type="submit" name="submit" ...>
el name por algo así:

<input type="submit" name="enviar" ...>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #17 (permalink)  
Antiguo 10/07/2006, 11:41
Avatar de alchat24  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá (Colombia)
Mensajes: 16
Antigüedad: 18 años, 2 meses
Puntos: 0
tiene mucho codigo incompleto, le recomiendo revise bien, y lo que esta abriendo, debe serrarlo....
<html>
<head>
<script language="JavaScript">
function llamada()
{
window.location="default.html"
}
</script>
</head>
<body>
<div id="Layer1">
<form id="form1" name="form1" method="post" action="envio.php">
<input type="text" name="nombre_de_cajita"/>
<input type="submit" name="Submit" value="Enviar" onclick="llamada();" />
</form>
</div>
</body>
</html>
  #18 (permalink)  
Antiguo 13/07/2006, 08:05
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Caricantos, confieso que lo probe sin mucha fe, ya hasta me estaba pensando en otro diseñito mas usable, pero la verdad que cambiando como dices funciono, muchas gracias.

Alchat24, es posible que sea asi ya que el codigo que coloco es un resumen y he tratado de quitar lo mas que pude tanto codigo javascript como html para no distraer el analisis, pero de todas maneras revisare el codigo...
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 08:33.