Text auf Knopfdruck sichtbar machen

  • #1
B

Black Panter

Bekanntes Mitglied
Themenersteller
Dabei seit
20.07.2005
Beiträge
138
Reaktionspunkte
0
Hi,

ich hab mir mehrere functions erstellt, die alle ähnlich lauten:

function text () {
document.write('text')
}

nun möcht ich, das je nach dem welchen punkt ich in einem menü auswähle.

menü:

<select name=test>
<option name=option1>text</option>
</select>

ich hab schon einiges probiert, komm aber nicht auf die lösung.
Und es soll nicht jedesmal eine neue Seite geladen werden.

Für Lösungsvorschläge bin ich dankbar.
 
  • #2
Ähh... bitte nochmal... gaaanz langsam... ich peil hier gar nix
nun möcht ich, das je nach dem welchen punkt ich in einem menü auswähle
Kein verständlicher Satz :) Was willst du denn machen, je nachdem welcher Punkt ausgewählt wird?

Lg
M.
 
  • #3
also, ich hab nen menü mit den punkten punkt 1, punkt 2,...

und es soll, wenn punkt 1 ausgewählt wird soll function 1 (vorher definiert) ausgeführt werden, in meinem fall soll ein text angezeigt werden. bei punkt 2 ein anderer text usw.
 
  • #4
  • #5
das nützt mir leider nicht viel. ich benutz keine frames. ich geh über tabellen.
 
  • #6
Was ist denn hiermit?

Code:
<html>
 <head>
 <title>Test</title>
 <script type=text/javascript>
 <!--
  function Go(x) {
   var ele = document.getElementById('content');
   switch(x) {
   case nothing: ele.firstChild.data='kein Eintrag ausgewählt'; break;
   case text1: ele.firstChild.data='Eintrag 1 ausgewählt'; break;
   case text2: ele.firstChild.data='Eintrag 2 ausgewählt'; break;
   case text3: ele.firstChild.data='Eintrag 3 ausgewählt'; break;
   case text4: ele.firstChild.data='Eintrag 4 ausgewählt'; break;
   case textdefault: ele.firstChild.data='sonstiger Eintrag ausgewählt'; break;
   }
  }
 //-->
 </script>
 </head>

 <body>
 <form action=>
  <select size=1 name=Auswahl
 onChange=javascript:Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)>
  <option value=nothing>[ bitte auswählen! ]</option>
  <option value=nothing>----------------------------</option>
  <option value=text1>Eintrag 1</option>
  <option value=text2>Eintrag 2</option>
  <option value=text3>Eintrag 3</option>
  <option value=text4>Eintrag 4</option>
  <option value=textdefault>Eintrag 5</option>
  <option value=textdefault>Eintrag 6</option>
  </select>
 </form>
 <p id=content>kein Eintrag ausgewählt</p>
 </body>
</html>

Lg
M.
 
  • #7
vielen dank, dass ist genau das, was ich gesucht habe.

P.S. geht das auch mit funktionen, die ich forher defieniert habe? Also à la: function xy () {document.wrtie(xyz}
 
  • #8
Du kannst natürlich hinter den case's deine eigenen Funktionen aufrufen, also

Code:
 function Go(x) {
   var ele = document.getElementById('content');
   switch(x) {
   ...
   case text3: xy(); break;
   ...
   }
  }
Aber du brauchst EINE Startfunktion (Go()), die anhand der Auswahl entscheidet, was zu tun ist.
Das document.write könnte probleme machen. Bei mir wurde mit dem Befehl immer ne neue Seite geladen, die nichts enthielt, außer das was der write-Methode übergeben wurde. Ich dachte auch, dass der Befehl die Daten ans aktuelle Dokument anhängt, komischerweise tut er's nicht - jedenfalls nicht im Firefox. Wenn du document.write benutzen würdest, würden die entsprechenden Texte ja auch immer untereinander ausgegeben werden. Also wählst du Punkt 1 aus der Liste aus, würde Hallo, hier ist Punkt 1 unten erscheinen. Wählst du danach Punkt 2 aus, dann wird Hallo, hier ist Punkt 2 unten angefügt. Die Meldung, die von Punkt 1 dargestellt wird, verschwindet dadurch nicht. Weiss nicht, ob du das so haben willst.
Wenn die Meldungen tatsächlich ersetzt werden sollen, müsstest du es so machen, wie ich es geschrieben habe. Also mit
Code:
var ele = document.getElementById('content');
und
Code:
ele.firstChild.data='hier die entsprechende Meldung rein';
und einem HTML-Tag, der über eine ID verfügt, wie
Code:
<p id=content>kein Eintrag ausgewählt</p>

Lg
M.
 
  • #9
ich meinte, ob man anstelle von Eintrag 1 ausgewählt ne funktion reinschreiben kann.
 
  • #10
Michael_B schrieb:
Du kannst natürlich hinter den case's deine eigenen Funktionen aufrufen, also

Code:
 function Go(x) {
 var ele = document.getElementById('content');
 switch(x) {
 ...
 case text3: xy(); break;
 ...
 }
 }
Man beachte den Funktionsaufruf xy() im Anweisungsteil von case text3 :)

Lg
M.
 
  • #11
oh, hab ich übersehen.
 
Thema:

Text auf Knopfdruck sichtbar machen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben