[GastForen Archiv Perl und CGI In Perl Script: Javascript Code auslagern

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

In Perl Script: Javascript Code auslagern

wastl
Beiträge gesamt: 25

12. Feb 2005, 14:43
Beitrag # 1 von 10
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich wollte im folgenden (sehr verkürztem Perl-Script) den Javascript Code auslagern
(Ersetzen der 5 Zeilen des Scripts unten durch
Code:
<script language="JavaScript1.2" SRC="..//myJSlib/test.js">
)
Im Originalskript kam korrekt das Alert-Fenster mit dem Text "ungültig".
In der 2. Version wird die Zuweisung nicht erkannt und es kommt der Text "$Fehler".
Woran kann dies liegen ?? Wie kann ich den Javascript-Code trotzdem auslagern ?

test.pl:

#!/usr/bin/perl -wT
use strict;
print "Content-type: text/html\n\n";

#
# bla bla bla
#

use vars qw($Fehler);
$Fehler = "ungültig";

#
# bla bla bla
#

print <<"EOT";

<HTML>
<HEAD>

<script language="JavaScript1.2">
<!--
alert ("$Fehler");
//-->
</script>


</HEAD>
<BODY>

<h1 align="center">Kopfzeile1</h1>
</BODY>
</HTML>

EOT


test.js:

alert ("$Fehler");
X

In Perl Script: Javascript Code auslagern

oesi50
  
Beiträge gesamt: 2315

12. Feb 2005, 14:49
Beitrag # 2 von 10
Beitrag ID: #144268
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
>Woran kann dies liegen?

weil $Fehler eine Perl Variable ist

>Wie kann ich den Javascript-Code trotzdem auslagern?

indem du den ausgelageten Code auch durch ein Perl-Script erzeugen lässt, oder in deinem Script eine Javascript-Variable erzeugst.


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#144267]
(Dieser Beitrag wurde von oesi50 am 12. Feb 2005, 14:52 geändert)

In Perl Script: Javascript Code auslagern

wastl
Beiträge gesamt: 25

12. Feb 2005, 15:13
Beitrag # 3 von 10
Beitrag ID: #144273
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Oesi50,
da ich auf dem Gebiet Perl/CGI noch recht schwimme, kann ich mit Deinen Vorschlägen nicht viel anfangen.
1. "indem du den ausgelageten Code auch durch ein Perl-Script erzeugen lässt":
Das ausgelagerte Script wird doch meines Wissens einmal erzeugt und kann dann von verschiedenen Anwendungen aufgerufen werden. Wie würde es dann durch das Perl-Script erzeugt ? Bei jeder Ausführung des Perl-Scripts?

2. "in deinem Script eine Javascript-Variable erzeugst":
Wie wird dies Variable erzeugt und wie erhält sie den Wert aus dem Perl-Programm ?
Danke für Deine Unterstützung


als Antwort auf: [#144267]

In Perl Script: Javascript Code auslagern

oesi50
  
Beiträge gesamt: 2315

12. Feb 2005, 15:17
Beitrag # 4 von 10
Beitrag ID: #144274
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hast du dir schon mal den erzeugen HTML-Code im Browser angesehen?


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#144267]

In Perl Script: Javascript Code auslagern

wastl
Beiträge gesamt: 25

12. Feb 2005, 16:39
Beitrag # 5 von 10
Beitrag ID: #144290
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Erzeugter HTML-Code:
Im korrekten Fall:
<HTML>
<HEAD>

<script language="JavaScript1.2">
<!--
alert ("ungültig");
//-->
</script>

</HEAD>
<BODY>
<h1 align="center">Kopfzeile1</h1>
</BODY>
</HTML>



Ergebnis im fehlerhaften Fall:

<HTML>
<HEAD>

<script language="JavaScript1.2" SRC="..//myJSlib/kontakt-test1.js">
</script>

</HEAD>
<BODY>
<h1 align="center">Kopfzeile1</h1>
</BODY>
</HTML>


Eigentlich wie erwartet, wenn jetzt in kontakt-test1.js der Variablen $Fehler
der Wert "ungültig" zugewiesen würde.


Mein Problem läßt sich daher auch so formulieren:
Können in einem mit
<script language="JavaScript1.2" SRC="..//myJSlib/kontakt-test1.js">
aufgerufenen Script, das unter anderem die Felder eines Formulars prüft,
Variablen definiert werden, denen zur Laufzeit Perl-Variablenwerte zugeordnet werden ?


als Antwort auf: [#144267]

In Perl Script: Javascript Code auslagern

oesi50
  
Beiträge gesamt: 2315

12. Feb 2005, 16:53
Beitrag # 6 von 10
Beitrag ID: #144294
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
wie wäre es denn, wenn du

<script type="text/javascript"><!--
var fehler=("ungültig");
// -->
</script>
<script type="text/javascript" SRC="..//myJSlib/kontakt-test1.js">

erzeugst, und in test1.js

alert(fehler)

steht?




Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#144267]
(Dieser Beitrag wurde von oesi50 am 12. Feb 2005, 16:54 geändert)

In Perl Script: Javascript Code auslagern

wastl
Beiträge gesamt: 25

13. Feb 2005, 08:50
Beitrag # 7 von 10
Beitrag ID: #144374
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich kann den Wert 'ungueltig' der Variablen 'fehler' nicht im Javascript zuweisen, da der Wert keine Konstante ist sondern in Perl entsteht (abhängig von der Browsersprache).


als Antwort auf: [#144267]

In Perl Script: Javascript Code auslagern

oesi50
  
Beiträge gesamt: 2315

13. Feb 2005, 11:03
Beitrag # 8 von 10
Beitrag ID: #144386
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
doch kannst du

im Perl-Script

print qq|
<script type="text/javascript"><!--
var fehler=("$Fehler");
// -->
</script>
<script type="text/javascript" SRC="..//myJSlib/kontakt-test1.js">
|;

in test1.js

alert(fehler);


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#144267]

In Perl Script: Javascript Code auslagern

wastl
Beiträge gesamt: 25

13. Feb 2005, 19:02
Beitrag # 9 von 10
Beitrag ID: #144469
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, jetzt habe ich es gecheckt !
Erstes JavaScript innerhalb der Perlscripts übernimmt die Variable aus Perl.
Diese steht dann auch dem extern aufgerufenen JavaScript zur Verfügung.


als Antwort auf: [#144267]

In Perl Script: Javascript Code auslagern

oesi50
  
Beiträge gesamt: 2315

13. Feb 2005, 19:13
Beitrag # 10 von 10
Beitrag ID: #144472
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
genauuu!


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#144267]
X