romero: Button in einer function erstellen und danach ausführen

Beitrag lesen

hallöchen

Hallo,

ich möchte nicht, dass das jetzt als Vorwurf oder gar als Arroganz rüberkommt, aber ich habe den Eindruck, dass dir noch wesentliche Grundlagen zum Verständnis nicht nur speziell von Javascript, sondern allgemein der Programmierkunst fehlen. Beispielsweise das Konzept von Funktionen und lokalen bzw. globalen Variablen. Ich ziehe den Schluss mal vor:

»»

da hast du nicht ganz so unrecht.ich versuche mich grad in eine der vielen programmiersprachen ( halt javascript ) reinzufuchsen. muss natürlich zugeben,das mir einige grundlagen diesbezüglich fehlen,was nicht heißt,das ich nicht gewillt bin,dies zu schaffen.
und hoffe auf entsprechende hilfe,bei bestimmten sachverhalten.

wie kriege ich mehrere variablen mittels return in eine andere funktion?

Die bekommst Variablen (genauer gesagt: Werte) mit return nicht "in eine andere Funktion", sondern zunächst mal nur aus der Funktion heraus, in der sie entstehen.

weiß wie man eine bekommt,aber nicht wie man mehr als eine weiter verwendet.

Die Variable, die du mit return zurückgibst, kann selbst ein Array oder ein Objekt sein. Ein triviales Beispiel: Wir schreiben eine Funktion, die zwei komplexe Zahlen (bestehend aus Real- und Imaginärteil) addieren und das Ergebnis zurückliefern soll.

Methode 1: Komplexe Zahlen als Arrays mit 2 Elementen

function KomplexSumme(a, b)
{ var Summe = [];              // alternative Schreibweise für new Array()

Summe[0] = a[0] + b[0];      // Realteil
   Summe[1] = a[1] + b[1];      // Imaginärteil

return Summe;
}

Methode 2: Komplexe Zahlen als Objekte mit den Eigenschaften Re und Im

function KomplexSumme(a, b)
{ var Summe = {};              // alternative Schreibweise für new Object()

Summe.Re = a.Re + b.Re;      // Realteil
   Summe.Im = a.Im + b.Im;      // Imaginärteil

return Summe;
}

Das sollte dir mögliche Wege aufzeigen, wie eine Funktion mehrere Werte zurückgeben kann. Wirklich sinnvoll ist das jedoch nur, wenn diese Werte miteinander ein sinnvolles Ganzes ergeben.

danke dafür.müsste ich versuchen,das dann in meins zu berücksichtigen.

function hallo()
{...
return wert_1;
...}

function duda()
{...
var ausgabe = hallo( wert_1 );
...}

Dieser Ausschnitt ist widersprüchlich: Du rufst deine Funktion hallo() auf und übergibst ihr einen Parameter, obwohl die Funktion ohne Parameter deklariert ist. Außerdem existiert wert_1 offensichtlich innerhalb von hallo(), nicht aber in duda(). Jedenfalls nicht offensichtlich.

wie müsste das dann richtig heißen?etwa so?oder bitte die korrekte schreibweise geben.
function hallo( wert_1 )
{...
return wert_1;
...}

function duda( wert_1 )
{...
var ausgabe = hallo( wert_1 );
...}

function hallo()

{...
var output = '<center class="Folie"><img src=C:/test/Achtung.png width=30px height=25px> <b>ACHTUNG:</b><br>Wollen Sie wirklich separate Folien-Stückliste(n) anlegen?<br><br><input type="button" name="Bestätigung" value="Bestätigen" onClick="Folie()"></input> <input type="button" name="Bestätigung" value="Abbrechen" onClick="Folie()"></input></center>';


>   
> > > du erstellst einen String, der HTML enthält (übrigens zum Teil ungültiges HTML),  
> > wo enthält es ungültiges HTML?  
>   
> Der HTML-String enthält ein img-Element, in dem der Wert des src-Attributs nicht in Anführungszeichen steht (obwohl er muss); außerdem enthält er für die Attribute width und height die ungültigen Werte 30px bzw. 25px. Merke: Die HTML-Attribute width oder height geben immer Pixel an (oder Prozent), die Einheit px ist hier ein Fehler.  
>   
  
ok werd es ausbessern.  

> > > > `var Folie_Meldung = document.getElementById( "Folie_Meldung" ).innerHTML = output;`{:.language-javascript}  
>   
  

> > ich habe das schon umgeschrieben  
> > var folie\_meldung = `document.getElementById( "folie_meldung" ).innerHTML = "irgedwas";`{:.language-javascript}  
>   
> Gut. Und was ist mit folie\_meldung? Brauchst du den Wert im weiteren Verlauf des Scripts nochmal? Wenn ja, gut.  
>   
  
hab es komplett geänder auf:  
document.getElementById( "folie\_meldung" ).innerHTML = "irgedwas";  
  

> > wollte das ich mittels einer funktion beide onclicks zusammen abfrage.  
>   
> Das kannst du tun - aber dann musst du deiner Funktion einen Parameter übergeben, der beschreibt, was zu tun ist (Abbrechen oder Bestätigen).  
>   
  
etwa so?z.b.:  
onclick = "Folie\_Hinweiss( Bestätigen )";  
onclick = "Folie\_Hinweiss( Abbrechen )";  
  
und dann so aufrufen?  
  
function Folie\_Hinweiss( Bestätigen );  
{...  
irgendwas;  
...}  
  
function Folie\_Hinweiss( Abbrechen );  
{...  
irgendwas;  
...}  
  
oder wie wird das da gemacht?  
  
lg romero