Using perl Syntax Highlighting
#! /usr/bin/perl -w
BEGIN
{
# Declaramos la ruta de ubicacion del modulo 'comun'.
@INC=(@INC,"/var/www/cgi-bin/comun");
}
use contratos_html; #aqui se encuentran los modulos
use CGI::Ajax;
use vars qw($table2 $JSCRIPT);
my $cgi = new CGI;
my $pjx = new CGI::Ajax( 'exported_func' => \&perl_func );
print $pjx->build_html( $cgi, \&Show_HTML2);
sub perl_func {
my $input = shift;
# do something with $input
my $output = $input . " was the input!";
return( $output );
}
sub Show_HTML2 {
my $table2 = <<EOHTML;
$table2=new HTML::Table(-rows=>4,-cols=>1,-border=>0,-bgcolor=>0,-width=>"100%",-spacing=>2,-padding=>0);
$table2->setCell(1,1, "Indrodusca cualquier cosa: ");
$table2->setCell(1,2, textfield(-name=>'vall',id=>'vall',-onKeyUp=>"exported_func( ['val1'], ['resultdiv']);"));
$table2->setCell(2,1, "<br>");
$table2->setCell(3,1, "<div id=\"resultdiv\">"."</div>");
$table2->setCell(4,1,"<hr>".submit(-name=>'opc',-value=>'Continuar',-class=>'Bsbttn'));
&js();
print header;
&print_cabeza2(''); # esta funcion se encuentra en el (pm)
print $JSCRIPT;
print start_multipart_form(-action=>$script_name,
-name=>'form',
-id =>'form',
-onsubmit=>'return validacaja()'
);
EOHTML
return $table2;
}
sub print_cabeza2 {
print start_html(-title=>'ENLACE',
-script=>$JSCRIPT,
-background=>'../../images/enlace/fondo.gif',
-BGCOLOR=>'#FFFFFF',
-style=> {-src=>'../../enlace/enlace.css'},
-link=>'#003366',
-vlink=>'#000000',
-method=>'post'
);
}
#valida que la caja de texto no este vacia
sub js {
$JSCRIPT=<<EOT;
<script language="JavaScript" type="text/javascript">
<!-- Hide script
//<![CDATA[
function validacaja() {
if (form.vall.value eq '') {
alert ("El campo de texto no puede ir vacio");
return false ;
}
return true;
}
//]]> End script hiding -->
</script>
EOT
}
BEGIN
{
# Declaramos la ruta de ubicacion del modulo 'comun'.
@INC=(@INC,"/var/www/cgi-bin/comun");
}
use contratos_html; #aqui se encuentran los modulos
use CGI::Ajax;
use vars qw($table2 $JSCRIPT);
my $cgi = new CGI;
my $pjx = new CGI::Ajax( 'exported_func' => \&perl_func );
print $pjx->build_html( $cgi, \&Show_HTML2);
sub perl_func {
my $input = shift;
# do something with $input
my $output = $input . " was the input!";
return( $output );
}
sub Show_HTML2 {
my $table2 = <<EOHTML;
$table2=new HTML::Table(-rows=>4,-cols=>1,-border=>0,-bgcolor=>0,-width=>"100%",-spacing=>2,-padding=>0);
$table2->setCell(1,1, "Indrodusca cualquier cosa: ");
$table2->setCell(1,2, textfield(-name=>'vall',id=>'vall',-onKeyUp=>"exported_func( ['val1'], ['resultdiv']);"));
$table2->setCell(2,1, "<br>");
$table2->setCell(3,1, "<div id=\"resultdiv\">"."</div>");
$table2->setCell(4,1,"<hr>".submit(-name=>'opc',-value=>'Continuar',-class=>'Bsbttn'));
&js();
print header;
&print_cabeza2(''); # esta funcion se encuentra en el (pm)
print $JSCRIPT;
print start_multipart_form(-action=>$script_name,
-name=>'form',
-id =>'form',
-onsubmit=>'return validacaja()'
);
EOHTML
return $table2;
}
sub print_cabeza2 {
print start_html(-title=>'ENLACE',
-script=>$JSCRIPT,
-background=>'../../images/enlace/fondo.gif',
-BGCOLOR=>'#FFFFFF',
-style=> {-src=>'../../enlace/enlace.css'},
-link=>'#003366',
-vlink=>'#000000',
-method=>'post'
);
}
#valida que la caja de texto no este vacia
sub js {
$JSCRIPT=<<EOT;
<script language="JavaScript" type="text/javascript">
<!-- Hide script
//<![CDATA[
function validacaja() {
if (form.vall.value eq '') {
alert ("El campo de texto no puede ir vacio");
return false ;
}
return true;
}
//]]> End script hiding -->
</script>
EOT
}
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
El error que me aparece es este:
Using javascript Syntax Highlighting
</script></head><body>No head/html tags, nowhere to insert. Returning javascript anyway<br></body></html>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
He visto algunos ejemplos, y en todos meten directamente el código HTML, pero en mi caso utilizo el modulo HTM::Table y la rutina de print_cabeza. También por otra parte ocupo funciones de JavaScript. Espero y me ayuden a adaptarlo sin la necesidad de ocupar directamente el código HTML.