webForumDet fria alternativet
Logga in / Bli medlem

Javascript i Perl?

JavaScript

2 svar · 217 visningar · startad av Yolina

Medlem sedan juli 20033 inlägg
Trådstart#1

Hejsan

Jag har skrivit ett perl-program i en pl-fil.

Jag har ett formulär med tva textfält där användaren ska ange rubrik och text.

Jag vill ha en kontroll i mitt program, att de bada fälten fylls i. När de inte är ifyllda ska en alert() visas. (Alltsa när param(nachricht) eller param(titel2) är tom.

Nu är fragan, hur använder jag Javascript i min pl-fil?

Min kod (inte den snyggaste kanske) ser för närvarande ut sa här:

if (param('nachricht') && param('titel2')){
my $sth4 = $dbh->prepare( "SELECT Hilfenr FROM Hilfe");
$sth4->execute;
my ($temp4, $temp5);
my @row4; while ( @row4 = $sth4->fetchrow_array() ) {
$temp4 = "@row4";
if ($temp4 > $temp5){
$temp5 = $temp4;
}
}
$temp5 += 1;
my $radio_param = param('radio');
my $titel_param = param('titel2'); my $nachricht_param = param('nachricht');
my $sql = "INSERT INTO Hilfe (Hilfenr, Titel, Beschreibung, Gruppe, Nummer) VALUES ('$temp5', '$titel_param', '$nachricht_param', '$radio_param', 1)";
my $sth3 = $dbh->prepare($sql);
$sth3->execute;
}
else{
######Här vill jag ha min alert();
}

Men jag vet lixom inte hur jag ska göra detta med Javascript.

Jag hade nagon idé om att man kunde skriva nagot sadant:

print "<javascript:alert()>";

men det fungerade inte särskilt bra.

Kan nagon hjälpa mig?

Tack! /Yolina

Medlem sedan sep. 20026 425 inlägg
#2

Välkommen till wF!!

Jag kan tyvärr inte reda upp ditt problem, men skriver in din kod i kod-taggen som finns här på wF, så att det blir lättare att se din kod. :D

if (param('nachricht') && param('titel2')){ 
my $sth4 = $dbh->prepare( "SELECT Hilfenr FROM Hilfe"); 
$sth4->execute; 
my ($temp4, $temp5); 
my @row4; while ( @row4 = $sth4->fetchrow_array() ) { 
$temp4 = "@row4"; 
if ($temp4 > $temp5){ 
$temp5 = $temp4; 
} 
} 
$temp5 += 1; 
my $radio_param = param('radio'); 
my $titel_param = param('titel2'); my $nachricht_param = param('nachricht'); 
my $sql = "INSERT INTO Hilfe (Hilfenr, Titel, Beschreibung, Gruppe, Nummer) VALUES ('$temp5', '$titel_param', '$nachricht_param', '$radio_param', 1)"; 
my $sth3 = $dbh->prepare($sql); 
$sth3->execute; 
} 
else{ 
######Här vill jag ha min alert(); 
}
Medlem sedan dec. 2002258 inlägg
#3

Du kan inte bädda in javascript i perl koden så något sånt här borde det bli:

if (param('nachricht') && param('titel2')){ 
my $sth4 = $dbh->prepare( "SELECT Hilfenr FROM Hilfe"); 
$sth4->execute; 
my ($temp4, $temp5); 
my @row4; while ( @row4 = $sth4->fetchrow_array() ) { 
$temp4 = "@row4"; 
if ($temp4 > $temp5){ 
$temp5 = $temp4; 
} 
} 
$temp5 += 1; 
my $radio_param = param('radio'); 
my $titel_param = param('titel2'); my $nachricht_param = param('nachricht'); 
my $sql = "INSERT INTO Hilfe (Hilfenr, Titel, Beschreibung, Gruppe, Nummer) VALUES ('$temp5', '$titel_param', '$nachricht_param', '$radio_param', 1)"; 
my $sth3 = $dbh->prepare($sql); 
$sth3->execute; 
} 
else{ 
print "Content-Type: text/html";
print "<script language=javascript>";
print "alert(\"Något av fälten är inte i fyllda!\")";
print "</script">";
}
255 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)