Philip: Funktionen zusammenfassen

Beitrag lesen

Hi,

nach stundenlanger Suche und Rumprobiererei hab ich gestern doch tatsächlich ein Script zustande gebracht :D

Also, ich habe zwei Checkboxen, von denen beim Absenden des Formulars mindestens eine ausgewählt sein muss. Wenn beide Checkboxen abgewählt werden, kommt ein Hinweis, dass mindestens eine Box aktiviert sein muss. Das Script an sich funktioniert, ist aber wohl etwas umständlich. Ich möchte nämlich, dass die Checkbox, die als letzte deaktiviert wird durchs Script aktiviert bleibt.

Das habe ich jetzt nur über zwei separate Scripte geschafft:

<form name="formular">

<input type=checkbox checked name="r" onClick="check_thema1()">
<input type=checkbox checked name="l" onClick="check_thema2()">

...

<script type="text/javascript">
function check_thema1() {
 if(document.formular.r.checked==false && document.formular.l.checked==false)
 {
    document.formular.r.checked = true
    alert("Bitte mindestens ein Thema angeben!");
    return false;
 }
}
</script>

<script type="text/javascript">
function check_thema2() {
 if(document.formular.r.checked==false && document.formular.l.checked==false)
 {
    document.formular.l.checked = true
    alert("Bitte mindestens ein Thema angeben!");
    return false;
 }
}
</script>

Ich könnte das ganze natürlich auch so machen:

<form name="formular">

<input type=checkbox checked name="r" onClick="check_thema()">
<input type=checkbox checked name="l" onClick="check_thema()">

...

<script type="text/javascript">
function check_thema() {
 if(document.formular.r.checked==false && document.formular.l.checked==false)
 {
    document.formular.r.checked = true
    alert("Bitte mindestens ein Thema angeben!");
    return false;
 }
}
</script>

Das hat aber zur Folge, dass beim Abwählen der letzten Box immer die Box r aktiv bleibt. Also, wenn ich als letzte Box r abwähle, bleibt r aktiv, wähle ich aber als letzte l ab, bleibt l deaktiviert und r wird aktiviert.

Natürlich macht das keinen Unterschied für die Funktion des Scripts, aber es sieht halt einfach unschön aus wenn beim Abwählen die andere Box aktiviert wird - und ich bin halt Perfektionist :)

Kann man das ganze also zusammenschustern?