• Publicidad

Formulario con JavaScript

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Formulario con JavaScript

Notapor BigBear » 2015-11-17 19:11 @841

Hola, tengo el siguiente formulario en HTML y JavaScript en mi servidor Apache y quería saber cómo hacer un registro desde Perl, pero nunca funciona el registro. Creo que es por lo de "onsubmit" en el <form>.

Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1. <form method='post' action='foro_autenticar.php' onSubmit="return noVaciosCampos (this);">
  2. <input type=hidden value='nottrue'  name=alfacode>  
  3.  
  4. <input type='hidden' name='secforo' value='3'><input type='hidden' name='idenc' value='0'>
  5. <tr>
  6. <td align=right bgcolor="#FF9933"><b><font face="Arial, Helvetica, sans-serif" size="2">Autor:</font></b></td>
  7. <td bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" size="2"><input name='autor' type=text value='' size=20 maxlength="18">
  8.  (m&aacute;ximo 16 caracteres) </font></td></tr>
  9. <tr>
  10. <td align=right bgcolor="#FF9933"><b><font face="Arial, Helvetica, sans-serif" size="2">Tema:</font></b></td>
  11. <td bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" size="2"><input type=text name='tema' value='' size=48></font></td>
  12. </tr>
  13. <tr>
  14. <td align=right bgcolor="#FF9933"> <b><font face="Arial, Helvetica, sans-serif" size="2">
  15. &nbsp;&nbsp;&nbsp;Texto:</font> </b></td>
  16. <td bgcolor="#CCCCCC"> <textarea name="texto" cols="44" rows="12" wrap="VIRTUAL"></textarea> </td>
  17. </tr>
  18. <tr>
  19. <td colspan=2 align=center> <input type=submit value='Enviar &raquo;' name="submit"  >&nbsp;&nbsp;</td>
  20. </tr>
  21. </form>
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


El código en Perl:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!usr/bin/perl
  2.  
  3. use LWP::UserAgent;
  4. use URI::Escape;
  5.  
  6. my $nave = LWP::UserAgent->new;
  7. $nave->agent( "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0" );
  8. $nave->timeout(10);
  9.  
  10. my $autor = "test2";
  11. my $tema = "test2";
  12. my $contenido = "test2";
  13.  
  14. my $code = tomar("http://localhost/form.php?secforo=3&operation=insertar",{ "alfacode" => "nottrue","secforo"=>"3","idenc"=>"0","autor"=>$autor,"tema"=>$tema,"texto"=>$contenido,"submit"=>"Enviar &raquo;"});
  15.  
  16. sub tomar {
  17.     my ( $web, $var ) = @_;
  18.     return $nave->post( $web, [ %{$var} ] )->content;
  19. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


¿ Alguien sabe cómo solucionar esto ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Formulario con JavaScript

Notapor explorer » 2015-11-18 01:46 @115

En el código HTML se hace referencia a un código JavaScript que se activa en el momento del envío, seguramente para comprobar si hay campos vacíos, y si no los hay, realizar el envío del formulario.

El programa Perl no debe preocuparse por esa parte, si solo hace eso. Pero sí si hace algo más. Quizás haga alguna preparación de algún campo o algún formateo.

Lo que puedes hacer es usar alguna herramienta de análisis de tráfico HTTP, como por ejemplo Firebug, el complemento para el Firefox, que te permita ver el diálogo que se mantiene entre la página y el servidor, y así saber qué variables se intercambian, y de ahí, igualarlo con el programa.
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 Básico

¿Quién está conectado?

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