Wat ik wil doen is:
document.getElementById(object).disabled=false;
Ik krijg echter bij mijn function een string binnen. Dit kan ik niet makkelijk veranderen omdat de rest van het prog er al mee werkt. De error die ik dus vervoglens krijg is: x is leeg of geen object. Het is dus geen opbject.
Nu mijn vraag hoe kan ik het zo krijgen dat ik de string erin kan gooien of hoe maak ik een object of een String welke de goede naam mee krijgt. Andere opties zijn natuurlijk ook altijd welkom.
Wat ik al geprobeerd heb:
var x = new String(<ingegeven string>);
document.getElementById(x).disabled=false;
en
var x = new object(<ingegeven string>);
document.getElementById(x).disabled=false;
Heb al bij de sun classes gekeken maar getElementByName verwacht ook een object.
getElementById heeft wel degelijk een string nodig al parameter, namelijk het id (wat een string is). Het geeft een Object terug inderdaad
(en een string is ook een object in javascript trouwens)
Het zou kunnen dat je die fout krijgt omdat je meteen .disabled er al achteraan gooit, maar getElementById zijn element niet gevonden heeft, waardoor deze null teruggeeft (en dat is geen object, dus heeft die geen properties)
Dat getElementById niets oplevert kan doordat het element dat je probeert te vinden nog niet in het documentTree is opgenomen, simpelweg niet bestaat, of je roept de functie aan voordat de pagina volledig geladen is (waardoor documentTree nog niet afgebouwd en nog niet volledig doorzoekbaar is)
Zowel:
document.getElementById("dropDownList").disabled=false;
als
document.getElementById('dropDownList').disabled=false;
werkt prima. Dus het element word gevonden en hij is dus ook in de documentTree aanwezig. De dubbelen quotes zijn nodige als je met een array werkt. Dan zijn het dus voor java objecten.
Het probleem zit hem volgens mij in het gedeelte "string" wat in java geen object is maar een methode voor zover ik weet. Een "String" let op de hoofdletter is in java inderdaad een object. Maar ik krijg dus voglens java geen object wat volgens mij ook klopt. Typcasting heb ik geprobeerd maar werkt ook niet.
En volgens de sun site is er geen methode getElementById die een string (kleineletter) verwacht maar altijd een object. Dus als dit het Object String is zit ik goed maar dan de vraag hoe maak in precies een String Object aan met de juiste string daarin? Die java accepteerd als object.
Die haakjes achter init zouden inhouden dat je het resultaat van de functie init aan een variabele of event toekent. Het gaat er juist om dat je het uitvoeren van die functie aan het juiste event koppelt, en daarvoor moet je alleen de functienaam gebruiken, zonder haakjes.
De pagina staat op: http://eenSite/../../test2.html
moet helaas melden dat hij alleen werkt in IE. Ik beloof hierbij dat ik hem wel zal aanpassen voor de andere browsers. Maar de bezoekers komen voor 98% met ie.
Ik ben geen JS progger maar het wel redelijk wat met jsp gedaan. Dus als dit anders is in js dan in jsp dan dat hoor ik het graag. Maar wat ik dacht te weten is dat je tussen je haken je variable mee geeft aan je classe. In dit geval wil ik dus een variable id mee geven. En dat er in de klasse word gegeken naar de invoer en zo de juiste methode wordt gekozen.
Hoop dat met de pagina er bij het wat duidelijker is wat er mis gaat. Overgens staan er 2 dropdownlist in de pag. Dit is bij de orgineel anders. Vandaar de variable invoer.