document.getElementById() is leeg
Beste
Ik ben niet zo'n prof. in javascript. Ik zit nu met een probleem te kampen. Ik heb volgende code:
Maar ik krijg telkens de melding dat document.getElementById(...) leeg is?
Hoe kan ik nu de naam verkrijgen die naar inputName werd verstuurd?
Alvast bedankt
Ruben Portier
Ik ben niet zo'n prof. in javascript. Ik zit nu met een probleem te kampen. Ik heb volgende code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
function validateInput(inputName)
{
if(inputName.value.length == 0 || inputName.value == "")
{
document.getElementById(inputName).className = 'invalidInput';
}
else
{
document.getElementById(inputName).className = 'validInput';
}
}
{
if(inputName.value.length == 0 || inputName.value == "")
{
document.getElementById(inputName).className = 'invalidInput';
}
else
{
document.getElementById(inputName).className = 'validInput';
}
}
Maar ik krijg telkens de melding dat document.getElementById(...) leeg is?
Hoe kan ik nu de naam verkrijgen die naar inputName werd verstuurd?
Alvast bedankt
Ruben Portier
alert(inputName).. wat zie je? is het een door jouw ingevoerde waarde?
Ja. En als ik zelf de waarde invul tussen 2 "'s dan werkt het wel. Maar omdat ik de functie gebruik voor meerdere inputs wil ik hem dus dynamisch maken. Dus dat ik met 1 functie al de inputs zo kan controleren.
Gewijzigd op 14/09/2010 19:23:00 door Ruben Portier
Wat zit er in die vraag_nl?
Remember:
validateInput("mijnInput"); // goed
validateInput("#mijnInput"); // fout
Waarschijnlijk is dus je input parameter niet goed, en vaak is het dan zoiets lulligs als dat je nog in "CSS mode" zit. CSS selectors werken niet in JavaScript (tenzij je een lib zoals jQuery gebruikt die wel weer CSS selectors ondersteund)
Remember:
validateInput("mijnInput"); // goed
validateInput("#mijnInput"); // fout
Waarschijnlijk is dus je input parameter niet goed, en vaak is het dan zoiets lulligs als dat je nog in "CSS mode" zit. CSS selectors werken niet in JavaScript (tenzij je een lib zoals jQuery gebruikt die wel weer CSS selectors ondersteund)
nee hoor. Ik heb de syntax juist.
Dus die vraag_nl is eigenlijk de id naam van de input. Dus dan moet de javascript functie die vraag_nl gebruiken als id. Hoe kan ik dat doen?
Hier zit hem namelijk de fout. getElementById(inputName) wil niet werken. inputName is niet leeg, maar je kan het niet zo gebruiken rechtstreeks in elementbyid. Hoe kan ik dat dan doen?
Iemand vertelde me zo:
Wat dus ook niets uithaalde.
Iemand die me kan helpen?
Code (php)
1
<input type="text" name="vraag_nl" id="validator" class="validInput" style="height: 15px; width: 250px;" value="" onblur="return validateInput('vraag_nl');" />
Dus die vraag_nl is eigenlijk de id naam van de input. Dus dan moet de javascript functie die vraag_nl gebruiken als id. Hoe kan ik dat doen?
Hier zit hem namelijk de fout. getElementById(inputName) wil niet werken. inputName is niet leeg, maar je kan het niet zo gebruiken rechtstreeks in elementbyid. Hoe kan ik dat dan doen?
Iemand vertelde me zo:
Wat dus ook niets uithaalde.
Iemand die me kan helpen?
Lees je code eens goed door ;)
getElementById(); En met name het laatste woordje van deze functie. Je refereert je code verkeerd. Je kunt niet even aannemen dat js je name value als referentie punt kan gebruiken.
getELementById("ID"); returns ( obj elem );
Je functie zal er dus anders uit gaan zien. Wat je kunt doen is zoiets als:
function val(id)
{
var e = getElementById(id);
if(e.value == "" || e.length = 0)
{
e.className = "invalidInputClass";
}
}
getElementById(); En met name het laatste woordje van deze functie. Je refereert je code verkeerd. Je kunt niet even aannemen dat js je name value als referentie punt kan gebruiken.
getELementById("ID"); returns ( obj elem );
Je functie zal er dus anders uit gaan zien. Wat je kunt doen is zoiets als:
function val(id)
{
var e = getElementById(id);
if(e.value == "" || e.length = 0)
{
e.className = "invalidInputClass";
}
}
Inderdaad. je input heeft geen id, maar een name. Dat is een verschil.
en lol @ ++inputName++
wanne kwats, da heb ik nog nooit gezien zo :)
en lol @ ++inputName++
wanne kwats, da heb ik nog nooit gezien zo :)
Gewijzigd op 15/09/2010 17:56:00 door niek s
Dit is nu mijn code
Maar het werkt niet. krijg ook geen fouten.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
function validateInput(inputName)
{
var e = getElementById(inputName);
if(e.length == 0 || e.value == "")
{
e.className = 'invalidInput';
}
else
{
e.className = 'validInput';
}
}
{
var e = getElementById(inputName);
if(e.length == 0 || e.value == "")
{
e.className = 'invalidInput';
}
else
{
e.className = 'validInput';
}
}
Maar het werkt niet. krijg ook geen fouten.
en hoe ziet je input element er uit? En de aanroep van de functie?
inputName zal wel nog steeds de name bevatten ipv het id




