Versteckten Text nachdem Radiobutton ausgewählt wurde

rackerli

Grünschnabel
Hallo liebe Gemeinde,

ich brauch mal eure Hilfe

das ist mein script " nur ein Notlösung" ich bekomme das mit dem if und else nicht wircklich hin.´

HTML:
<form name="Frage1" action="select.htm">
        <table border="0" cellspacing="0" cellpadding="0" width="590" Inside%Tag>
          <tr valign="top" align="left">
            <td width="590" class="TextObject">
              <p style="margin-bottom: 0px;">Omega-3-Fettsäuren sind - zumindest im übertragenen Sinn - in aller Munde. Studien legen nahe, dass sie u.a. Herz und Kreislauf schützen. Worin finden sich denn große Mengen dieser Fette?</p>
<input type="radio" id="F11" name="F1" style="height: 13px; width: 13px;"> Huhn</p>
<input type="radio" id="F12" name="F1" style="height: 13px; width: 13px;"> Fisch</p>
 <input type="radio" id="F13" name="F1" style="height: 13px; width: 13px;"> Butter</p>
 <form action="input_button.htm">
  <p>

Bis hierher ist alles klar
den unteren Teil will ich eigentlich nicht so pro Frage gibt es eine Richtige Antwort mit erklärung die anderen beiden werden nur mit Falsch gekennzeichnet.
HTML:
    <textarea cols="50" rows="2" name="textfeld"></textarea>
    <input type="button" name="Text 1" value="Auflösung"
      onclick="this.form.textfeld.value='Antwort B - Fisch - Omega-3-Fettsäuren kommen vor allem in fettreichen Meeresfischen wie Makrele, Lachs und Hering vor. Daneben gelten auch Raps- und Walnussöl als gute Quellen für diese essentiellen Fettsäuren. '">
  </p>
</form></td>


hier nur meine Frage was muss ich machen damit wenn einer der Button ausgewählt wurde der enstprechnde Text " Richtig" oder "Falsch" in eniem Textfeld erscheint das zu beginn natürlich nicht sichbar sein sollte

Um Hilfe wäre ich sehr verbunden sonst werden die Nächte immer kürzer

Vielen Dank schon mal im voraus
 
Das kannst du mit JavaScript machen.
Also du legst einen versteckten Text, z.B:
HTML:
<span style="display: none" id="answer">Richtig</span>

Und wenn der Button gedrückt wird:
Javascript:
document.getElementById("answer").style.display = "inline";
 
Hallo ComFreak

ich wollte auf den Button "Auflösung" ganz verzichten, sondern wenn einer der drei Radiobutton gedrückt wird der entsprechende Text erschien

vielleicht steh ich auch gerade sehr neben mir also eigentlich wenn z.B. A gedrückt wird soll richtig erscheinen und bei B falsch und das ganze unterhalb in eine Textfeld das beim Start verborgisen ist.

Danke vorab
 
Dann fügst du einfach mein JS-Code dem onclick-Event der einzelnen Radio-Button hinzu.

Und wenn du möchtest, kannst du aus dem "span" ein "textarea" machen.
 
ich weiss das ich dumm frage, aber wo genau muss ich das einfügen wenn ich es unter den button setzte geht nix
 
Wie hast du denn das versucht (Code)?

So habe ich mir das vorgestellt:

HTML:
<input type="radio" id="F11" name="F1" style="height: 13px; width: 13px;" onclick='document.getElementById("answer").style.display = "inline";
'> Huhn</p>

<textarea style="display: none" id="answer">"Huhn" ist richtig!</textarea>
 
Wie hast du denn das versucht (Code)?

So habe ich mir das vorgestellt:

HTML:
<input type="radio" id="F11" name="F1" style="height: 13px; width: 13px;" onclick='document.getElementById("answer").style.display = "inline";
'> Huhn</p>

<textarea style="display: none" id="answer">"Huhn" ist richtig!</textarea>

Erstmal vielen vielen Dank, :p:p:p
jetzt noch eine kleine weitere Frage, wie kann ich die Button sperren wenn einer ausgewählt wurde, sonst kann man ja solange ausprobieren bis man die richtige antwort hat und dann ist es nicht wircklich sinnvoll

Vielen Dank im voraus
 
Das kann man mit dem Attribut "readonly" in Formularen erledigen.

Dieses kannst du per "setAttribute" mit JS setzen.

Da du jetzt doch mehr als eine Funktion hast, würde ich vorschlagen, dass du alles in eine Funktion packst.
Also:
HTML:
<script type="text/javascript">
  function radioClicked()
  {
     document.getElementById("answer").style.display = "inline";
  }
</script>

<input type="radio" id="F11" name="F1" style="height: 13px; width: 13px;" onclick='radioClicked()';
'> Huhn</p>
Falls du mehr Tips brauchst, frag einfach nach!
 
Hallo

ich schaffs einfach nicht was mach ich falsch, wo hab ich den denkfehler und wo geb ich jetz ein was richtig oder falsch ist find ich auch nciht mehr
HTML:
<script type="text/javascript">
  function radioClicked()
  {
     document.getElementById("f1a").style.display = "inline";
     document.getElementById("f1b").style.display = "inline";
     document.getElementById("f1c").style.display = "inline";
  }
</script>

<form>
<input type="radio" id="F1" name="F1" style="height: 13px; width: 13px;" onclick='radioClicked()';>A</p>
<input type="radio" id="F1" name="F1" style="height: 13px; width: 13px;" onclick='radioClicked()';>B</p>
<input type="radio" id="F1" name="F1" style="height: 13px; width: 13px;" onclick='radioClicked()';>C</p>
</form>
 
Wo ist denn bei deinem Code ein Element mit der ID f1a, f1b, f1c?

Außerdem hast du allen Radio-Inputs die gleiche ID vergeben, das darf man nicht!

Also zuerst vergibst du jedem Element eine eigene ID (z.B. "radioA", "radioB", "radioC").
In 'radioClicked()' sprichst du - wie in deinem Code - die Elemente per getElementById an und setzt per setAttribute das Attribut readonly auf readonly.

Außerdem setzt du wie in meinem Beitrag #8 das Antwortenfeld auf 'sichtbar', also per .style.display.


PS:
Bitte setzte deinen Code nächstes mal in sog. Code-Tags, z.B. [code=html]...[/code].
Dann sind sie formatiert!​
 
Zurück