• Publicidad

CGI::Ajax - Internet Explorer -Firefox

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

CGI::Ajax - Internet Explorer -Firefox

Notapor Lor » 2008-09-09 05:13 @259

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 :

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
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);
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4



Bueno ¡¡¡¡ muchas gracias !!!! :D
Lor
Perlero nuevo
Perlero nuevo
 
Mensajes: 187
Registrado: 2005-04-28 05:47 @282

Publicidad

Notapor explorer » 2008-09-09 05:36 @275

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

Repasa el HTML generado, para ver si está bien...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados

cron