Funktion wird nicht aufgerufen

blck

Mitglied
Hallo,
ich versuche mit der Funktion 'checkbox' eine zweite Checkbox zu deaktivieren, wenn eine Andere angeklickt wurde. Leider funktioniert dieses nicht, d.h. die zweite Checkbox wird nicht deaktiviert. Hier mal der Funktion und der Aufruf:
Code:
<script type='text/javascript'>
 function checkbox(id) {
  if (document.admincontroll["bea[id]"].checked==true)
        document.admincontroll["del[id]"].disabled=true;
  if (document.admincontroll["del[id]"].checked==true)
        document.admincontroll["bea[id]"].disabled=true;
 }
</script>

Bearbeiten: <img src='include/images/show.png'>
  <input type='checkbox' name='bea[$id]' value='$id' onCheck='return checkbox('$id');'><br>
L&ouml;schen: <img src='include/images/delete.png'>
  <input type='checkbox' name='del[$id]' value='delete' onCheck='return checkbox('$id');'>

Vielleicht seht ihr warum.
Schönen Sonntag noch,
Blck
 
Moin,

dein Code birgt mehrere Fehler in sich.
  • es gibt keinen onCheck-Event
  • falls admincontroll ein Formularname ist, ist ein Zugriff a'la
Code:
admincontroll["bea[id]"]
nicht möglich, er müsste stattdessen so aussehen:
Code:
document.admincontroll.elements["bea["+id+"]"]
  • Syntaxfehler beim Funktionsaufruf:
Code:
onCheck='return checkbox('$id');'
...korrekt wäre es bspw. so
Code:
onCheck="return checkbox('$id');"


Ansonsten: bevor du das Rad neu erfindest...bist du sicher, dass radio-Buttons nicht das von dir gewünschte Ergebnis bringen würden?
 
Hallo,
'tschuldigung, dass die Antwort so lange dauert.
Aber ich habs jetzt mal probiert und funktionieren tut es noch nicht. Den Funktionsaufruf muss ich mit " ' " machen, da das ganze in einem php-echo steht.
Und Radiobutton gehen, meiner Ansicht nach, leider nicht, da ich sowohl den Namen (also z.B. bea[$id]) und auch die Value brauche(also z.b. delete). Da Radiobutton ja den gleichen Namen benötigen, haut das leider nicht hin. Das ganze sieht jetzt so aus:
Code:
<script type='text/javascript'>
 function checkbox(id) {
  if (document.admincontroll.elements["bea["+id+"]"].checked==true)
        document.admincontroll.elements["del["+id+"]"].disabled=true;
  if (document.admincontroll.elements["del["+id+"]"].checked==true)
        document.admincontroll.elements["bea["+id+"]"].disabled=true;
 }
</script>

MfG Blck
 
Und Radiobutton gehen, meiner Ansicht nach, leider nicht, da ich sowohl den Namen (also z.B. bea[$id]) und auch die Value brauche(also z.b. delete).

Jo, mit dem identischen Namen hast du recht, aber wofür benötigst du in deiner Anwendung den Unterschiedlichen Namen?
Die Unterscheidung kannst du doch bereits anhand des value vornehmen.
 
Hallo,
die Namen brauche ich, weil ich mir ein Array aufbaue, denn das ganze läuft in einer While-Schleife. Der Punkt ist, dass ich bei einer Checkbox zusätzlich! noch eine bestimmte Value später im Script brauche. Deshalb geht das leider nicht über die value.

MfG Blck
 
Zurück