Doppelt kompliziert: src und verschachtelte Funktionen

profy

Mitglied
Ich habe zwei Funktionen
funktion1() steht in einer externen Datei, z.B. common.js. (
Code:
 <script type="text/javascript" language="Javascript 1.3"  src="./common.js"></script>
funktion1 gibt einen Wert zurück und steht definitiv in der Datei common.js

funktion2() steht direkt in der HTML Datei
Code:
 <script type="text/javascript" language="Javascript 1.3" >
function funktion2(wert)
{
	alert(wert) ;
}
</script>

Durch ein Event wird funktion1 und funktion2 verschachtelt aufgerufen
Code:
 ... onchange= “javascript:funktion2(funktion1(document.meinformular.meinfeld));“>



Nur leider funktioniert das nicht. Netscape Javascriptkonsole: Fehler: funktion1 is not defined

Kann man so etwas nicht machen?

Vielen Dank für Antworten.
 
Icvh weiß nicht ob es nur daran liegt, aber aber Netscape mag keine Zahlen in Namen, Eigenschaften, Funktionen, Variablen, etc. zumindest nicht gehäuft
( xy1, xy2 ).

Schon Vorgängerversionen, wie z.NB. Netscape 4.x hatten damit Probleme, oftmals hilft daher ein entfernen von Zahlen....
 
Original geschrieben von profy
Kann man so etwas nicht machen?
Doch das geht definitiv. Es kann eigentlich nur ein kleiner Syntax Fehler sein. VOn wo du das skript einbindest ist eigentlich egal. Mein Beispiel funktioniert, schus mal an - vielleicht siehst du den Fehler dann eher...
Code:
<html>
<head>
    <script type="text/javascript">
    
      function funktion1(wert){
        return wert.toUpperCase();
      }
      
      function funktion2(wert){
	    alert(wert) ;
      }
      
    </script>
</head>
<body>

<a href="#" onclick="funktion2(funktion1('test')); return false;">test</a>

</body>
</html>
ode check erstmal ob die Funktion richtig eingebunden wird. Dazu sollte ein
Code:
<a href="#" onclick="alert(typeof funktion1);">test</a>
Wenn jetzt was anderes als "function" zurückgegeben wird, dann liegt der fehler beim einbinden der Funktion...

bye
 
Original geschrieben von Thomas Lindner
Icvh weiß nicht ob es nur daran liegt, aber aber Netscape mag keine Zahlen in Namen, Eigenschaften, Funktionen, Variablen, etc. zumindest nicht gehäuft
( xy1, xy2 ).

Schon Vorgängerversionen, wie z.NB. Netscape 4.x hatten damit Probleme, oftmals hilft daher ein entfernen von Zahlen....
Hmmm diese Fehlerquelle ist mir nach NS 4.72 nicht mehr aufgefallen... Die Bezeichner von Funktionen, Variablen usw dürfen soweit ich weis nur nicht mit einer Zahl beginnen, dannach sollte es eigentlich egal sein...


@profy:
kann es sein das der Pfad eher ' src="../common.js" ' heißen sollte?
 
Zuletzt bearbeitet:
Original geschrieben von Andreas Gaisbauer
Hmmm diese Fehlerquelle ist mir nach NS 4.72 nicht mehr aufgefallen... Die Bezeichner von Funktionen, Variablen usw dürfen soweit ich weis nur nicht mit einer Zahl beginnen, dannach sollte es eigentlich egal sein...


@profy:
kann es sein das der Pfad eher ' src="../common.js" ' heißen sollte?

Das kann jedoch sein, das der Fehler ab 4.72 behoben wurde.

War auch nur mal eine Vermutung, weil das Script hatte ich mir nicht näher angesehen.
 
Vielen Dank für die bisherigen Antworten.
Es liegt nicht an der Zahl, da die tatsächlichen Funktionen, die ich verwende keine Zahl enthalten.
Gibt es da eventuell andere Beschränkungen, wie z.B. die Länge des Funktionsnamen?
Andreas:
Dein Beispiel funktioniert bei mir auch, aber
jetzt packe doch bitte die erste Funktion in ein extra File, füge diese in das HTML File ein und probiere es noch mal.
Warum das ganze fragt ihr vielleicht?
In dem externen File sind Funktionen, die man auf vielen HTML-Seiten verwenden kann, z.B. Zahlenwertüberprüfung.
Die Zweite Funktion ist speziell auf die HTML-Seite abgestimmt.
 
(!)Fehlalarm(!)

Ich hatte den Teil mit dem Einfügen einer Datei mit
Code:
<!-- -->
auskommentiert, dies aber nicht erkannt, da der Editor auf Javascript stand.

Schande über mich.

Glühwein und Programmieren geht einfach nicht zusammen
;-)
 
doh.jpg


;)
 

Neue Beiträge

Zurück