Diana: Syntaxfehler

Halloechen,

hier bin ich wieder! Habe eine Frage:
Ich wollte folgende Funktion ein wenig eleganter umschreiben und einen Counter verwenden, anstatt jedes einzelne Button anzusprechen:

Also statt (was funktioniert):
function checkThis2(){
 if(document.business.facility[0].checked){
  document.business.constyle[0].disabled= "";
  document.business.constyle[1].disabled= "";
  document.business.constyle[2].disabled= "";
  document.business.constyle[3].disabled= "";
  document.business.constyle[4].disabled= "";
  document.business.constyle[5].disabled= "";
  document.business.timebc.disabled= "";
 }

if(document.business.facility[1].checked){
  document.business.constyle[0].disabled="disabled";
  document.business.constyle[1].disabled="disabled";
  document.business.constyle[2].disabled="disabled";
  document.business.constyle[3].disabled= "disabled";
  document.business.constyle[4].disabled= "disabled";
  document.business.constyle[5].disabled= "disabled";
  document.business.timebc.disabled= "disabled";
  document.business.constyle[0].checked = "";
  document.business.constyle[1].checked = "";
  document.business.constyle[2].checked = "";
  document.business.constyle[3].checked = "";
  document.business.constyle[4].checked = "";
  document.business.constyle[5].checked = "";
  document.business.timebc.value = "";
 }

Folgendes:

function checkThis2(){
 if(document.business.facility[0].checked){
  for(var count=0; count<=5; count++){
   document.business.constyle["+count+"].disabled= "";
  }
  document.business.timebc.disabled= "";
 }

if(document.business.facility[1].checked){
 for(var count = 0; count <= 5; count++){
  document.business.constyle["+count+"].disabled="disabled";
  document.business.constyle["+count+"].checked = "";
 }
  document.business.timebc.disabled= "disabled";
  document.business.timebc.value = "";
 }
}

Jedoch kriege ich immer die Fehlermeldung:
"document.business.constyle.+count+ is null or not an object"

Habe keine Ahnung, woran es liegen koennte. Kann jemand weiterhelfen?

Vielen Dank im Voraus,

Diana.

  1. Hallo Diana,

    for(var count = 0; count <= 5; count++){
     document.business.constyle[+count+].disabled= "";

    Ich bin mir nicht sicher, ob's daran liegt, ich bin auch nicht gerade der Crack, aber lass mal die Anführungszeichen bei [+count+] weg. Imho definierst du so einen String.
    Die Verknüpfungsoperatoren[count] dürften in diesem Fall vermutlich auch überflüssig sein, meine ich, bin mir aber nicht sicher. :-)
    Ändere dies und teste es nochmal.

    Gruß

    Kurt

    --
    "Unter Intuition versteht man die Faehigkeit gewisser Leute, eine Lage in Sekundenschnelle falsch zu beurteilen."  (Friedrich Duerrenmatt; schweiz. Schriftsteller; 1921-1990)
    http://elektro-dunzinger.at
    http://shop.elektro-dunzinger.at
    1. Hi Kurt,

      cool! Es funktioniert wirklich - und zwar wirklich ohne Anfuehrungszeichen und ohne Verknuepfungsoperatoren!

      for(var count = 0; count <= 5; count++){
         document.business.constyle[count].disabled= "";

      Tausend Dank nochmals!!! Und schoene Feiertage,

      Diana.

      1. Hallo Diana,

        cool! Es funktioniert wirklich - und zwar wirklich ohne Anfuehrungszeichen und ohne Verknuepfungsoperatoren!

        for(var count = 0; count <= 5; count++){
           document.business.constyle[count].disabled= "";

        Tausend Dank nochmals!!! Und schoene Feiertage,

        Naja, mit den Anführungszeichen definierst du einen String, willst aber eine Zahl übergeben.
        Die Verknüpfungsoperatoren, naj, womit willst du die Zahl verknüpfen? Wobei es wohl in diesem Fall mathematische(Berechnungs-) Operatoren wären...

        Dir auch schöne Feiertage.

        Gruß

        Kurt

        --
        "Was man muehelos erreichen kann, ist gewoehnlich nicht der Muehe wert, erreicht zu werden."  (Sprichwort)
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at