Jo: Formular aus checkboxen checken

Hallo,

ich möchte ein Formular aus auswerten und frage mich, ob das nicht eleganter geht als so ($("zahl") sind checkboxen die mit der prototypefunktion "$" angesprochen werden):

...

if ($("136").checked == true && $("113").checked == false && $("112").checked == false && $("119").checked == false && $("162").checked == false && $("169").checked == false){
  $("changeMainId").value = "tk_sw";
  }
else if ($("136").checked == true && $("113").checked == false && $("112").checked == false && $("119").checked == true && $("162").checked == false && $("169").checked == false){
     $("changeMainId").value = "tk_sw_s";
  }

... usw

kann mir da mal jemand auf die Sprünge helfen, das geht doch bestimmt eleganter.

Danke
Jo

  1. Mahlzeit Jo,

    if ($("136").checked == true && $("113").checked == false && $("112").checked == false && $("119").checked == false && $("162").checked == false && $("169").checked == false){
      $("changeMainId").value = "tk_sw";
      }

    1. Die Prototype-Funktion $() erwartet als Parameter ein Objekt oder ersatzweis eine ID:

    ---8<---
    element = document.getElementById(element);
    --->8---

    Die Angabe eines rein numerischen Wertes bedeutet also, dass Deine Elemente eine numerische ID besitzen - und das ist <http://de.selfhtml.org/html/referenz/attribute.htm#id_idref_name@title=nicht korrekt>: eine ID muss mit einem Buchstaben beginnen.

    2. Wieso überprüfst Du, ob es wahr ist, dass die Eigenschaft http://de.selfhtml.org/javascript/objekte/elements.htm#checked@title=checked wahr ist? Sie liefert bereits true oder false zurück ... Du könntest also einfacher schreiben:

    if ($("ID136").checked && !($("ID113").checked) && !($("ID112").checked) && !($("ID119").checked) && !($("ID162").checked) && !($("ID169").checked)) {  
      $("changeMainId").value = "tk_sw";  
    }
    

    kann mir da mal jemand auf die Sprünge helfen, das geht doch bestimmt eleganter.

    Sicher geht es das. Solange wir aber weder die Struktur noch die Anforderunen noch die Programmlogik kennen, wäre es reines Herumgerate, Dir irgendwas spezielles empfehlen zu wollen.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|