document.getElementById() has no properties

N

nerobp

Grünschnabel
Hi Leute...
Ich weiß bei diesem Fehler nicht mehr weiter:

document.getElementById(wo) has no properties
choise(1, "vauswahl")newsize.php (line 9)
onchange(change )newsize.php (line 1)
[Break on this error] document.getElementById(wo).selectedIndex = 0;


:hilfe2:

Was soll die Seite machen?
Entwerder das input-Feld ist gefüllt oder die Auswahl (der Eintrag) würde über das Drop-Down gemacht. Im DropDown kommen später über SQL alle Einträge. Fehlt ein Eintrag, wird er in das input Feld gemacht

Code:
<html>
<head>
<title>
choise
</title>
<script language='javascript'>
function choise(fall, wo){
if (fall==1){
document.getElementById(wo).selectedIndex = 0;
}
if (fall==2){
document.getElementById(wo).value = "";
}
}
function save1(){
alert ("test");
document.getElementById('save2').value = "true";
}
</script>
</head>
<body>

<form action="newsize.php" name="save" method="post">
<table border='1'>
<tr>
<td>
Artikelgruppe:<br>
<input name='ag' ID='ag' onchange="choise(1,'agauswahl')">
</td>
<td>
Variante:<br>
<input name='variante' ID='variante' onchange="choise(1,'vauswahl')">
</td>
</tr>
<tr>
<td>
<script language='Javascript'>
document.auswahl
</script>
wenn Gruppe vorhanden:<br>
<select size='1' name='agauswahl' style='width:146px' onchange="choise(2,'ag')">
</select>
</td>
<td>
<script language='Javascript'>
document.auswahl
</script>
wenn Variante vorhanden:<br>
<select size='1' name='vauswahl' style='width:146px' onchange="choise(2,'variante')">
<option></option>
<option>test</option>
</select>
</td>
</tr>
</table>
<input type='hidden' value='save2'>

<br><img src="graphics/cancel.png" align="right">
<a href='newsize.php' onclick='1save()'><input type='image' src='graphics/ok.png' alt='Speichern' align='right'></a>

</form>

<?php ...
[PHP aus Platzgründen entfernt (ist momentan zum Fehlertest eh auskommentiert)
...?>


Da ich schon verschiedene Foren durchforstet habe:
Egal wo der JS-Block steht (auch am Ende), es bleibt bei der Fehlermeldung und in "wo" steht auch was drinne (überprüft).
 
Die id muss dann auch "agauswahl" entsprechen. z.B.:
Code:
<input name='ag' ID='agauswahl' onchange="choise(1,'agauswahl')">


?? Das macht doch keinen Sinn (werde es trotzdem motgen versuchen)

ag = input
agauswahl = dropDown

Es soll nur nur eins von beiden gefüllt bzw gewählt sein.
 
?? Das macht doch keinen Sinn [...]
ag = input
agauswahl = dropDown
na ja, du willst aus dem DOM-Baum ein Element per ID auswählen und darauf reagieren, was dort steht. Um die ID zu finden, muß das Element auch die ID haben, die du suchst. Nicht den Namen, eine da definierte ID.

Es gibt auch:
  • getElementsByName
  • getElementsByTagName
Die ID ist nicht gleich dem Namen, weil der Name Gruppen zusammen fassen kann (Formularelemente mit gleichem Namen, aber unterschiedlichem Value), ebenso Tag-Names (alle "<H1>")

Wenn du eine ID vergibst, mußt du anschließend auch genau die suchen.

Bzw. anders herum: Wenn du eine ID suchst und kein Element hat die (oder mehrere haben sie.. siehe rotes "s" in den anderen Elementen, das hier fehlt: getElementById), dann gibt es kein Ergebnis. In dem Beispiel fällt aber auf, daß du was anderes suchst, als du vergibst.

"wo" ist etwas, daß du auf meinen ersten (in JS aber auch ungeübten...) Blick einer Funktion übergibst, aber nirgends als ID definierst (BTW, heißt es nicht choice?).

-> document.getElementById(wo) has no properties
das heißt im DOM-Baum ist keine ID, die unter dem Namen gefunden werden kann.
 

Ähnliche Themen

Filelisting mit PHP zeigt nicht alles an

NagiosGrapher 1.7.1 funktioniert nicht

in_array Problem

dovecot und postfix Konfiguration Problem

[PHP] Fehler bei Parameterübergabe

Zurück
Oben