Wert einer Funktion weitergeben

kurland

Mitglied
Hallo,

stehe wiedrmal vor einem JavaScritp Problem.
Die Funktionalität ist einfach: Ich klick auf einen Button, dieser öffnet ein Div-Element, worin ich eine Auswahl treffen kann, die dann automatisch in ein Textfeld geschrieben wird.
Offenbar kann ich nicht direkt ein Funktion innerhalb einer Funtion aufrufen, oder?

Ich poste mal mein Script und hoffe auf eine Geistesblitz:
Gruss Roli

<script type='text/javascript'>

var NR;

function einblendensize(si)
{
var NR=si
document.getElementById( "Div3" ).style.visibility = "visible";

function sizetrans(Gr)
{
document.getElementById('groesse' +NR ).value = Gr +"px";
}

}


function ausblendenSchrift()
{
document.getElementById( "div3" ).style.visibility = "hidden";
}

</script>
<input id="groesse1" type"text" size="20">
<p>
</p>
<input id="Btnsize" type=button value="" onClick="einblendensize(1);" name="button" style="width:100%;border:solid 1px black">

<div id="Div3" style="position: absolute; left: 717; top: 86; width: 140; height: 246; visibility: hidden">

<a href="#" onClick="return sizetrans('8');">size 8 </a>

</div>
 
Du rufst ja nicht die Funktion in der Funktion auf, sondern du definierst die Funktion in der Funktion.

Ich denke nicht das das so funktioniert.

Was aber geht ist z.B.
Code:
function test1()
{
alert("Hallo");
}

function test2()
{
test1();
}

function test3()
{
test2();
}

Wichtig ist dabei, dass die Funktionen nur aufgerufen werden können, wenn sie im Quelltext zuvor definiert wurden.

Ich hoffe du verstehst was ich meine.
 
Zuletzt bearbeitet:
Guten Morgen,

Das habe ich nun versucht. In meinem konkreten Script funktioniert das jedoch nicht, warum bloss? Hier ist das überarbeitete Script, das ergibt jedoch nichts als Fehler
Code:
<body>
<script type='text/javascript'>

var NR;

function einblendensize(si) 
{
	var NR=si
	document.getElementById( "Div3" ).style.visibility = "visible";
}

	function sizetrans(Gr)
	{
	function einblendensize(si)
	document.getElementById('groesse' +NR ).value = Gr +"px";
	}

function ausblendenSchrift()
{
document.getElementById( "div3" ).style.visibility = "hidden";
}

</script>
<input id="groesse1" type"text" size="20">
<p>
</p>
<input id="Btnsize" type=button value="" onClick="einblendensize(1);" name="button"  style="width:100%;border:solid 1px black">

<div id="Div3" style="position: absolute; left: 717; top: 86; width: 140; height: 246; visibility: hidden"> 

<a href="#" onClick="return sizetrans('8');">size 8 </a>

</div>
</body>

Gruss Roli
 
Hi,

willst Du Funktionen aufrufen, so geschieht das ohne das Schlüsselwort function.
Dieses dient nur der Deklaration einer Funktion.

Weiterhin deklarierst Du die Variable NR zunächst global (var NR). In der Funktion
einblendensize erzeugst Du mit Var NR eine lokale Variable. Diese existiert nur
während des Durchlaufes der Funktion - die Zuweisung an die globale Variable
erfolgt nicht!

In der Funktion sizetrans rufst Du einblendensize mit dem Parameter
si auf - es müsste allerdings der Parameter NR sein!
Code:
var NR;

function einblendensize(si){
    NR = si;
    document.getElementById("Div3").style.visibility = "visible";
}

function sizetrans(Gr){
    einblendensize(NR);
    document.getElementById('groesse' + NR ).value = Gr + "px";
}

function ausblendenSchrift(){
    document.getElementById("div3").style.visibility = "hidden";
}
Ciao
Quaese
 
Das liegt daran, dass auch jede Menge Fehler drin sind. Also alleine vom Format her:
Code:
<html>  *** Das gehört halt einfach dahin
<head>
 
<body>   *** Ein Script Tag darf nur im Head Bereich stehen 

<script type='text/javascript'>   üblich ist <script language="JavaScript"> 

var NR;

function einblendensize(si) 
{
	var NR=si  *** Die Variable ist hier nur lokal in der Funktion gültig, außerdem fehlt ein ;
	document.getElementById( "Div3" ).style.visibility = "visible";
}

	function sizetrans(Gr)
	{
	function einblendensize(si) Hier fehlt ein ;
	document.getElementById('groesse' +NR ).value = Gr +"px";
	}

function ausblendenSchrift()
{
document.getElementById( "div3" ).style.visibility = "hidden";
}

</script>
</head>
<body>

<input id="groesse1" type="text" size="20">
<p>
</p>
<input id="Btnsize" type="button" value="" onClick="einblendensize(1);" name="button"  style="width:100%;border:solid 1px black">

<div id="Div3" style="position: absolute; left: 717; top: 86; width: 140; height: 246; visibility: hidden"> 

<a href="#" onClick="return sizetrans('8');Was willst du hier machen? Vielleicht solltest du return weglassen">size 8 </a>

</div>
</body>
</html>
 

Neue Beiträge

Zurück