Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

CGI::Ajax - Internet Explorer -Firefox

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Módulos
Mensaje Mar Sep 09, 2008 4:13 am
Lor
Perlero Nuevo
Perlero Nuevo
Registrado: 28 Abr 2005
Mensajes: 99
Ubicación: Argentina, Santa FE
CGI::Ajax - Internet Explorer -Firefox Responder citando

Agradecería si alguien me pudiese ayudar con el siguiente problema, hace días que intento detectar el error y no lo logro.

Estoy corriendo una aplicación sobre Windows, es un formulario en donde uso CGI::Ajax para que despliegue uno u otro valor dependiendo de lo que el usuario va eligiendo.

El problema es que si lo ejecuto en Internet Explorer anda perfecto, pero si lo corro en Firefox, se borra el valor dado por el usuario en los campos que utilizaron Ajax. Es decir, cuando se ejecuta el submit del form, estos campos ya salen vacíos aunque en pantalla aparezca con valor.

Les paso un pedazo de ejemplo :

Perl:
sub generate_html() {

my $myhtml;
......
$myhtml = $myhtml . start_form(-id=>'form_actualiza_rubros',
                                  -name=>'form_actualiza_rubros',
                                  -method=>'post', -action=>$SCRIPT_NAME);

   $myhtml = $myhtml . TR(td({-align=>'left', -height=>'20' ,-colspan=>5}," " ));

   $myhtml = $myhtml .  TR( td({-align=>"left",-colspan=>5, -height=>'45'},
                "Cliente " .  scrolling_list(-name=>'id_cliente',
                          -id=>'id_cliente',
                          -override=>1,
                          -size=>1,
                          -value=>\@clientes,
                          -onChange=>"load_domicilios(['id_cliente','sid'],['div_domicilios'],'POST')",
                          -class=>'texto_form',
                          -labels=>\%clientes) ));

    $myhtml = $myhtml . TR( td({-align=>"left",-colspan=>5, -height=>'45'},
         div({-id=>'div_domicilios'},
               ( "Domicilio, Planta "),  scrolling_list(-name=>'id_domicilio',
                         -id=>'id_domicilio',
                          -override=>1,
                         -size=>1,
                         -value=>\@domicilios,
                         -class=>'texto_form',
                         -labels=>\%domicilios)) ));
#.............
}

sub load_domicilios {
        my $id_cliente = shift;

  my $myhtml;
  my %domicilios = ('-1'=>'  Seleccione Domicilio o Planta al que corresponde el rubro');
  my $ref$dbh_i->selectall_arrayref( " SELECT d.id_domicilio, d.nombre_tecnico " .
                                         " FROM  domicilios d " .
                                         " WHERE d.id_cliente = $id_cliente " );

  foreach (@$ref) {$domicilios{${$_}[0]} = ${$_}[1]; }
  my (@domicilios) = sort { $domicilios{$a} cmp $domicilios{$b}}  keys %domicilios;

        $myhtml = "Domicilio, Planta " .  scrolling_list(-name=>'id_domicilio',
                          -id=>'id_domicilio',
                           -override=>1,
                          -size=>1,
                          -value=>\@domicilios,
                          -class=>'texto_form',
                          -labels=>\%domicilios);
        return($myhtml);
}



Bueno ¡¡¡¡ muchas gracias !!!! Very Happy
Mensaje Mar Sep 09, 2008 4:36 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4102
Ubicación: Valladolid, España
Responder citando

O faltan líneas o no has creado el comienzo de tabla (start_table()).

Repasa el HTML generado, para ver si está bien...
Publicar nuevo tema   Responder al tema    Foros de discusión -> Módulos Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group