Foros del Web » Programando para Internet » Javascript »

¿Por que no funciona este onChange?

Estas en el tema de ¿Por que no funciona este onChange? en el foro de Javascript en Foros del Web. Almaceno un $html un contenido para mostrar por pantalla; Código PHP: $sql = "SELECT * FROM empresa_producto WHERE id_empresa='" . $_SESSION [ 'empresa' ]; $html .= "<form name=\"formu\" action=\"" . $DIR_ABS . ...
  #1 (permalink)  
Antiguo 09/11/2005, 12:10
Avatar de forecast  
Fecha de Ingreso: octubre-2004
Mensajes: 259
Antigüedad: 20 años, 4 meses
Puntos: 4
¿Por que no funciona este onChange?

Almaceno un $html un contenido para mostrar por pantalla;

Código PHP:
$sql="SELECT * FROM empresa_producto WHERE id_empresa='".$_SESSION['empresa'];
$html.="<form name=\"formu\" action=\"".$DIR_ABS.$_SERVER['REQUEST_URI']."\" onChange=\"this.form.submit()\">";
$html.= SacaMenuDesplegable($sql,$_REQUEST['id_producto'],'subid');
$html.='</form>'
La función SacaMenuDesplegable tiene este codigo



Código PHP:
function SacaMenuDesplegable($ssql,$valor,$nombre){ 
if(
$result=mysql_query($ssql))
  {      
        
$content.="<select name='$nombre'>"
        
$content.="<option value=\"\">Todos los productos</option>\n";
        while (
$fila=mysql_fetch_row($result))
        { 
         if (
$fila[0]==$valor)
           
$content.="<option selected value='$fila[0]'>$fila[1]"
         else
           
$content.="<option value='$fila[0]'>$fila[1]"
        } 
        
$content.="</select>";
        return 
$content;
  }

Al mostrar por pantalla me aparece el select correcto, es decir todo va bien... pero al cambiar de opción no me hace el onChange="this.form.submit".

¿Alguna sugerencia?

Gracias.
  #2 (permalink)  
Antiguo 09/11/2005, 12:16
 
Fecha de Ingreso: mayo-2004
Mensajes: 57
Antigüedad: 20 años, 8 meses
Puntos: 0
podria ser ... onChange="document.formu.submit"....
  #3 (permalink)  
Antiguo 09/11/2005, 12:16
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 23 años
Puntos: 772
Hola forecast

Me parece ver que has puesto el evento onchange en el formulario, tendrías que ponerselo al select:
Código PHP:
$content.="<select name='$nombre'> onchange='this.form.submit()'"
Saludos,
  #4 (permalink)  
Antiguo 09/11/2005, 14:26
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 20 años, 3 meses
Puntos: 3
Si el onChange está en el form, tal como lo pones incialmente, lo lógico es usar
this.submit()
y no
this.form.submit()

O, si no, lo que dice JavierB
__________________
Angel :cool:
  #5 (permalink)  
Antiguo 10/11/2005, 03:05
Avatar de forecast  
Fecha de Ingreso: octubre-2004
Mensajes: 259
Antigüedad: 20 años, 4 meses
Puntos: 4
El submit me lo hace; las dos opciones de abajo lo hacen.

"<select name='$nombre' onChange='document.formu.submit()'>";

"<select name='$nombre' onChange='this.form.submit()'>";

Gracias.
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 13:57.