Radiobuttons ansprechen ?

kookaburra

Grünschnabel
Hallo Zusammen,

ich bin neu hier und mache gerade meine ersten wackligen Gehversuche mit Javascript.
Naja, einiges ist verständlich, aber manches beim 5. mal lesen immer noch nicht, oh je.

Ich verzweifle seit Tagen(über Wochen verteilt) an folgender JS Syntax. In den weiten des www finde ich irgendwie nur komplizierte Codes zum Thema Radiobuttons.

Javascript:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Aufgabe 5</title>
<script language="JavaScript" type="text/javascript">
<!--
funktion checked() {
    //Radiobuttons
if(document.Meinungsumfrage.R1.checked);
if(document.Meinungsumfrage.R2.checked);
    return false;
}
else return true;
}

//-->
</script>
</head>

<body>
<h1>Sind Sie für einen internetfreien Sonntag ?</h1>
<form name="Meinungsumfrage" method="post" action="muster@email.de">
<td width="30">
<input type="radio" value="pro" name="R1">
<td width="30">Pro</td>
<input type="radio" value="kontra" name="R2">
<td width="260">Kontra</td>
</td>
</form>
</body>
</html>

Das ist meine Übungsaufgabe für meinen Fernlehrgang.
Die Fragestellung lautet: Mit welcher Syntax(JS) können Sie die beiden Radio-Buttons(Pro u. Kontra) auf der HTML-Seite absprechen ?
Ich habe den HTML Code auf das wichtigste(die Radiobuttons)reduziert und den JS Code eingesetzt, den ich für richtig halte. Das ganze habe ich in Dreamweaver zum testen in ein HTML Dokument geschrieben. Nun habe ich schon alles mögliche ausprobiert(Code umgestellt, andere Bezeichnungen etc.), aber wenn ich auf den Pro-Button klicke und dann auf den Kontra-Button, bleiben beide gedrückt und ich bekomme die Klicks nicht mehr rückgängig:mad:. Ich weiss das mir hier keiner die Aufgabe löst, das soll auch so sein, denn ich habe den Ehrgeiz selber draufzukommen
Es ist mir wichtig das der JS Code aus einfachsten Befehlen(halt für absolute Anfänger) bestehen
bleibt.

Kann mir jemand einen verständlichen Tip geben ? Wo liegt mein Denkfehler ?

Vielen Dank schon mal im voraus;).
kookaburra
 
Hi und Willkommen bei tutorials.de,

Mir ist noch nicht klar, was mit den Radiobutton gemacht werden soll?
Wenn die Frage nur ist, wie sie über JS erreichbar sind, ist das eher theoretisch.
Einfach erreichen ohne etwas damit zu tun macht im echten Code nicht viel Sinn.

Die Radiobuttons würden sich dann gegenseitig ausschließen (bei der Auswahl)
wenn man ihnen sagt, dass sie zusammen gehören. Der "name" muss gleich sein.

(Sonstiges zum HTML-Teil: Warum XHTML 1.0? "width" usw. besser durch CSS ersetzen.
Und eventuell hilft es beim Lernen, anfangs keinen Dreamweaver etc. zu verwenden).

Zum Skript:
Javascript:
funktion checked() {
    if(document.Meinungsumfrage.R1.checked);
    if(document.Meinungsumfrage.R2.checked);
        return false;
    } //Achtung hier
    else return true;
}
Soll vermutlich prüfen, ob überhaupt etwas ausgewählt wurde?
Eine } zu viel, und nach if() gehört normalerweise kein ;
Außerdem kann man Bedingungen mit Und && bzw. Oder || verketten,
mehrere if() so hintereinander sind eher nicht das Gewollte.
 
Hallo sheel,

besten Dank für Deine schnelle Hilfe. Ich werde es nachher mal testen und dafür einen anderen Editor benutzen.
XHTML1.0 hab ich aus dem Quellcode(Lehrheft)genommen, das ist schon etwas älter. Wahrscheinlich soll dadurch verdeutlicht
werden das es in diesem Fall nur um HTML und JS geht, halt sehr vereinfacht.

Aber der Ansatz, das die Frage nur rein theoretisch sein könnte ist gar nicht mal so abwegig. Muss ich klären.

Ich melde mich wieder.
Merci
 
Hallo,

habe jetzt nochmal einiges ausprobiert, aber mit meinem Codebeispiel haut irgendwas nicht hin.
Ich habe aus einem funtionierendem Codebeispiel mir die entsprechende Anweisung rauskopiert
und die Namen ausgetauscht und schon funktioniert es bei meinem nicht.

Hier der funktionierende Code, wo ich die JS Syntax rauskopiert habe:
Javascript:
<html>
<head>
<title>Formulareingaben &uuml;berpr&uuml;fen</title>
<script  language="JavaScript" type="text/javascript">
<!--
function pruefe() {
// Radiobuttons
if(!document.bestellung.elements[4].checked && !document.bestellung.elements[5].checked)
return false;
}
else return true;

}
//-->
</script>
</head>
<body>

<h1>Ein Bestellformular</h1>

<form name="bestellung" action="file:///E|/ÜBUNGSDATEIEN/KAPITEL 5/irgendeineemail@.de"
  method="post" onSubmit=" return pruefe()">

Vorname:   <input type="text"  name="vorname">
<br>
<br>

Nachname:  <input type="text" name="nachname">
<br>
<br>
E-Mail:   <input type="text" name="mail">
<br>
<br>
Produkt:  
<select name="produkt" size="1">
  <option value="none">- Bitte w&auml;hlen -</option>
  <option value="supertool2005">SuperTool 2005</option>
<option value="premium">Premium Pack</option>
<option value="limit">Limited Edition Pack</option>
</select>
<br>
<br>
Nachnahme <input type="Radio" name="zahlung" value="v"><br>
Kreditkarte <input type="Radio" name="zahlung" value="v">
<br>
<br>
Newsletter bestellen:
<input type="Checkbox" name="news" value="yes"> <br>
<input type="reset" value="L&ouml;schen">
<input type="Submit" name="abschicken" value="Bestellen">
</form>

</body>
</html>

Und hier mein Beispiel, wo ich die JS-Syntax von oben reinkopiert habe:

Javascript:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Aufgabe 5</title>
<script language="JavaScript" type="text/javascript">
<!--
function pruefe() {
// Radiobuttons
if(!document.Meinungsumfrage.R1.checked && !document.Meinungsumfrage.R2.checked)
return false;
}
else return true;

}

//-->
</script>
</head>

<body>
<h1>Sind Sie für einen internetfreien Sonntag ?</h1>
<form name="Meinungsumfrage" method="post" action="muster@email.de">
<td width="30">
<input type="radio" value="pro" name="R1">
<td width="30">Pro</td>
<input type="radio" value="kontra" name="R2">
<td width="260">Kontra</td>
</td>
</form>
</body>
</html>

Benutze ich falsche Namen ? Oder wo liegt der Fehler, das ich den Klick von Pro und Kontra nicht mehr rückgängig bekomme.
Es soll entweder Pro oder Kontra geklickt werden können.

Kann mir nochmal jemand behilflich sein ?
 
Wie ich schon oben geschrieben habe müssen die Namen zusammengehörender Radiobuttons gleich sein.
R1 und R2 geht so nicht.

Außerdem rufst du die JS-Funktion nirgends auf. Beim Beispiel ist beim <form> ein onSubmit,
damit über das true/false der Funktion entschieden wird, ob man es absenden kann
(natürlich nicht 100% verlässlich für den Empfänger, weil JS ausgeschaltet werden kann)

PS: Das Beispiel ist komplett gesehen deutlich schlechter als dein eigener Code.
...
 
Hallo sheel,

danke nochmal für Deine Mühe und Geduld;). Ich denke das ich es jetzt erst
richtig kapiert habe. Hatte auch immer das Gefühl das nur auf den HTML-Code
zugegriffen wird. Mir war der Zusammenhang mit z.B. onSubmit oder onklick o.a., um überhaupt erst die
JS-Funktion aufzurufen bis dato nicht so ganz einleuchtend. Ich denke ich komme jetzt weiter. Das ahnt ja niemand
das die einem solche "tollen" Beispiele in einem Lehrheft vermitteln:mad:.
 

Neue Beiträge

Zurück