I will post some code, that works fine for me, only when I define the perl work in the Javascript myself. The problem is, that a list is defined, depended on some fields in my DB. This is the code, that must be modified:
$Type_number = 4; # field number of the Type field
open (DB, "<$db_file_name") or &cgierr("unable to open $db_file_name. Reason: $!");
if ($db_use_flock) { flock(DB, 1); }
LINE: while (<DB> ) {
next if /^#/;
next if /^\s*$/;
$line = $_;
chomp ($line);
@fields = &split_decode ($line);
if (!(grep $_ eq $fields[$Type_number], @{$Types{$fields[$Merk_number]}})) {
push (@{$Types{$fields[$Merk_number]}}, $fields[$Type_number]);
}
if (!(grep $_ eq $fields[$Merk_number], @Merks)) {
push (@Merks, $fields[$Merk_number]);
}
}
close DB;
#=====================================================================#
#==# IN THIS PART THE PERL MUST DO HIS WORK #==#
#==# ONLY I DO NOT KNOW HOW... #==#
#=====================================================================#
<Script Language="Javascript"> # MUST BE HERE!!
foreach $Merk (sort @Merks) {
$Array = "Array";
$Mark = "$Merk$Array";
print qq~
var $Mark = new Array("('Select Type','',true,true)",<br>~;
foreach $type (sort @{$Types{$Merk}}) {
print qq~"('$type')",~;
}
print qq~"('Alle modellen')");<br>~;
});==================
I clean this up a bit, because I solve this with an extern '.js' file, see the code in my reply below.
[This message has been edited by mart (edited September 14, 1999).]
Code:
$Merk_number = 2; # field number of the Make field $Type_number = 4; # field number of the Type field
open (DB, "<$db_file_name") or &cgierr("unable to open $db_file_name. Reason: $!");
if ($db_use_flock) { flock(DB, 1); }
LINE: while (<DB> ) {
next if /^#/;
next if /^\s*$/;
$line = $_;
chomp ($line);
@fields = &split_decode ($line);
if (!(grep $_ eq $fields[$Type_number], @{$Types{$fields[$Merk_number]}})) {
push (@{$Types{$fields[$Merk_number]}}, $fields[$Type_number]);
}
if (!(grep $_ eq $fields[$Merk_number], @Merks)) {
push (@Merks, $fields[$Merk_number]);
}
}
close DB;
#=====================================================================#
#==# IN THIS PART THE PERL MUST DO HIS WORK #==#
#==# ONLY I DO NOT KNOW HOW... #==#
#=====================================================================#
<Script Language="Javascript"> # MUST BE HERE!!
foreach $Merk (sort @Merks) {
$Array = "Array";
$Mark = "$Merk$Array";
print qq~
var $Mark = new Array("('Select Type','',true,true)",<br>~;
foreach $type (sort @{$Types{$Merk}}) {
print qq~"('$type')",~;
}
print qq~"('Alle modellen')");<br>~;
});
I clean this up a bit, because I solve this with an extern '.js' file, see the code in my reply below.
[This message has been edited by mart (edited September 14, 1999).]