Beim Klicken der einen Checkbox die andere deaktivieren

oppa

Mitglied
Moin Moin,

ich habe folgendes Problem:

Ich lasse mittels PHP eine Seite ausgeben, wo der Nutzer alle Kommentar sieht, die noch nicht öffentlich sind.

Jede Zeile / jeder Kommentar hat dann neben dem text 2 Checkboxen:
Die Eine nennt sich erase[] und die andere free[].

Ich möchte nun,dass das wenn ich in die Eine Checkbox klicke, die andere deaktiviert wird - Schließlich sollte ein beitrag nicht erst freigeschaltet und dann gelöscht werden (Doppeltauswahl sollte nciht funktionieren) - Entweder löschen oder freischalten.

Mein Problem ist nun, dass ich nicht weiß wie ich die einzelnen Sachen ansprechen soll,

Als Ansatz hätte ich für das erste Element:

<script type="text/javascript">
function erase_false () {

document.getElementsByName("erase"[0]).checked = false;
}
function free_false () {


document.getElementsByName("free"[0]).checked = false;
}
</script>

Beim Klicken auf die Löschen checkbox passiert dann ONclick="free_false()"
Beim Klicken auf die Erase checkbox passiert dann ONclick="erase_false()"


Am liebsten würde ich es ja so übergeben erase_false(var 1) und dann

function erase_false (var 1) {

document.getElementsByName("erase"[var 1]).checked = false;
}

Aber das funktioniert leider nicht - könnt ihr mir helfen ?

Gruß ALex
 

oppa

Mitglied
Okay, soweit habe ich das schonmal aus nem Tutorial von Christian Hochgatterer:

function checkswitch(elm,name1,name2){
if (elm.name == name1){
if (elm.checked) elm.form[name2].checked = false;
else elm.form[name2].checked = true;
}
else if (elm.name == name2){

if (elm.checked) elm.form[name1].checked = false;
else elm.form[name2].checked = true;



}
}

UNd das ist im HTML code:

<td width="50"><input name="erase[0]" type="checkbox" id="erase[0]" value="1192553523" onClick="checkswitch(this,'erase[0]','free[0]')" /></td>
<td width="50"><input type="checkbox" name="free[0]" value="1192553523" id="free[0]" onClick="checkswitch(this,'free[0]','erase[0]')"/></td>

Mein Problem: Wenn ich auf eine Checkbox klicke die schon gecheckt ist, wird sie quasi entcheckt und die andere gechecked ...

Könnt ihr mir helfen ?

Gruß Alex
 

oppa

Mitglied
Also ich habe es nun per Radiobox gelöst.

Bei Interesse oder ähnlichen Probleme helfe ich gerne per PM.

Gruß Alex
 

xthetronx

Erfahrenes Mitglied
Hallo Alex,

es wäre nett, wenn Du Deine Lösung direkt hier posten könntest, damit alle was davon haben und nicht erst umständlich eine PM schicken müssen.

Gruß

Torsten
 

oppa

Mitglied
Alles klar:

Ich habe es folgendermaßen gelöst:

Ich habe einfach Radioboxen genommen mit dem selben Namen, nämlich der ID des Kommentars. Die eine Radiobox hat dann den Wert (value) "freischalten" und die andere den Wert "loeschen".

Bei der Auswertung verfahre ich per Schleife so, das ich jeweils denn Wert mit
PHP:
$_POST["$schleifenvariable"]
rausfinde.

Für freischalten und loeschen habe ich eigene Funktionen geschrieben die mittels der ID die Änderungen vornehmen.
PHP:
if ($_POST["$schleifenvariable"]=="freischalten") { freischalten($id); }

if ($_POST["$schleifenvariable"]=="loeschen") { loeschen($id); }

// Wenn es weder das eine, noch das andere ist, dann muss davon ausgegangen werden, das der Benutzer nichts angeklickt hat und seine Entscheidung noch nicht treffen will.

P.S.: Meine Schleifenvariable heißt $i :) nciht das ihr denkt ich schreibe umständlich

Schönes Wochenende,

Gruß Alex