Foros del Web » Programando para Internet » Javascript »

Problemas con propiedad "action" de formulario

Estas en el tema de Problemas con propiedad "action" de formulario en el foro de Javascript en Foros del Web. Tengo un problema que me pasa en IE, pero funciona perfectamente en FF. El código donde se encuentra dicho problema es este: Código HTML: <select ...
  #1 (permalink)  
Antiguo 05/11/2008, 07:57
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
Problemas con propiedad "action" de formulario

Tengo un problema que me pasa en IE, pero funciona perfectamente en FF.

El código donde se encuentra dicho problema es este:

Código HTML:
<select name="opcion" id="opcion" onchange="this.form.action=this.value;">
	<option value="'.$_SERVER['PHP_SELF'].'">teleoperadoras</option>
	<option value="../../tickets.php">incidencias</option>
</select> 
Lo que hace básicamente es que dependiendo de lo que elija en el <select> del formulario, los datos de este se envíen a una página web u otra. Tampoco quiero entrar en detalles de momento. Pero el caso es que me da el sgte error en IE:

"El objeto no soporta esta propiedad o método".

Y si no me equivoco se refiere a la asignación en la propiedad action. Sin embargo en FF funciona perfectamente. También lo intenté con este cambio: onchange="document.admin_login.action=this.value" , siendo admin_login el nombre del formulario.

A qué se puede deber? Se os ocurre alguna solución rápida para arreglar este problema?
  #2 (permalink)  
Antiguo 05/11/2008, 08:11
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con propiedad "action" de formulario

La misma solución de siempre:

en la etiqueta del formulario:
<form ..... id="formulario">

y luego:
<select name="opcion" id="opcion" onchange="document.getElementById('formulario').ac tion=this.value;">


No es la forma más prolija de hacerlo, pero debería funcionar.
Saludos.
  #3 (permalink)  
Antiguo 05/11/2008, 08:12
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Problemas con propiedad "action" de formulario

Lo otro también debería funcionar, si la sintaxis php fuera correcta, que no lo es.
  #4 (permalink)  
Antiguo 05/11/2008, 08:28
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
Respuesta: Problemas con propiedad "action" de formulario

No hemos podido hacerlo con getElementById tampoco. Se ve que la propiedad "action" no se puede cambiar cuando se usa IE. Un compañero de trabajo lo ha solucionado mediante JQuery y trabajando con dos formularios diferentes uno para cada caso (sólo estará visible el que corresponda).

Pero, ¿no hay una solución más simple?

Panino5001, la sintaxis PHP es correcta. Ha sido fallo mío que debería haberos avisado de que todo ese código está dentro de una cadena en PHP. O haber escrito esto:

Código HTML:
<select name="opcion" id="opcion" onchange="this.form.action=this.value;">
	<option value="'. <?= $_SERVER['PHP_SELF'] ?> .'">teleoperadoras</option>
	<option value="../../tickets.php">incidencias</option>
</select> 
Pero bueno, eso no influye en el Javascript.
  #5 (permalink)  
Antiguo 05/11/2008, 08:34
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Problemas con propiedad "action" de formulario

Bueno, pero el problema no debe ser ese. No hay inconvenientes en cambiar el action de un formulario en tiempo de ejecución en Explorer.
Esto, por ejemplo, funciona bien en explorer 6 y 7:
Código PHP:
<!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>
<
form id="form1" name="form1" method="post" action="">
<
select name="opcion" id="opcion" onchange="this.form.action=this.value; alert(document.form1.action)">
    <
option value="bla.php">teleoperadoras</option>
    <
option value="../../tickets.php">incidencias</option>
</
select>
<
label>
<
input type="submit" name="Submit" value="Enviar" />
</
label>
</
form>
</
body>
</
html
  #6 (permalink)  
Antiguo 05/11/2008, 08:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problemas con propiedad "action" de formulario

¿Seguro que el código HTML devuelto es correcto?. Porque yo he probado en IE y funcionó sin problemas cambiar el action .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 06/11/2008, 07:54
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
Respuesta: Problemas con propiedad "action" de formulario

El código que os puse lo había copiado y pegado del código fuente del HTML recibido por el navegador.

No sé dónde podía estar el error entonces.
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 16:15.