Prüfen ob Eintrag in Auswahlliste schon vorhanden
psy
- javascript
Hallo liebe Gemeinde ;)
Ich sitze jetzt schon zu lange an einem Problem und finde im Internet einfach keine Lösung.
Ich will ledeglich überprüfen ob ein Wert schon in einer Auswahlliste vorhanden ist, sollte ja nicht so schwer sein, aber:
Zeile: 104
Zeichen: 7
Fehler: 'options[...].value' is null or not an object
Code: 0
URL: http://localhost/Verwaltung.php
und die Fehlerkonsole sagt: select2.options[i] is undefined
"Zeichen 7" wäre das [ "i" ].
code: (comments nur für euch)
function listIt_uadd()
{
var name = document.getElementById('newname');
//select1/2 sind die Auswahllisten
var select1 = document.benutzerverwaltung.sel_benutzer_edit;
var select2 = document.bloesch.del_benutzer;
//zum testen für mich
alert(select1.options[0].value);
alert(name.value);
for(var i=0; i <= select2.length; i++)
{
//ist egal ob select1 oder select2, da beide das gleiche beinhalten
//mit zB. select2.options[0].value gehts! - das "i" scheint das Problem zu sein
if(select2.options[i].value == name.value)
{
var ok=false;
break;
}
else
{
var ok=true;
}
}
if(ok==true)
{
select1.options[select1.length] = new Option(name.value,name.value,false,true);
select2.options[select2.length] = new Option(name.value,name.value,false,true);
}
else
{
return;
}
}
bin noch javaScript Newbie, also bin für Verbesserungsvorschläge sicherlich dankbar, aber die Lösung des Problems ist für mich relevanter.
ev. weiss jemand ein einfacheres "Verfahren" um zu: prüfen ob ein Eintrag in einer Auswahlliste schon vorhanden ist - wenn nicht, den Eintrag hinzufügen. :)
liebe Grüsse
for(var i=0; i <= select2.length; i++)
Kann so nicht funktionieren, da "objects" fehlt.
Gruß, LX
for(var i=0; i <= select2.length; i++)
Kann so nicht funktionieren, da "objects" fehlt.Gruß, LX
Hallo,
wie meinst du "da objects fehlt"?
andere Schleifen in der Art funktionieren
zb:
for(var i=0; i <= select1.length; i++)
{
if(select1.options[i].value==select1.value)
{
select2.removeChild(select2.options[i]);
select1.removeChild(select1.options[i]);
break;
}
}
grüsse
Hallo liebe Gemeinde ;)
Ich sitze jetzt schon zu lange an einem Problem und finde im Internet einfach keine Lösung.
Ich will ledeglich überprüfen ob ein Wert schon in einer Auswahlliste vorhanden ist, sollte ja nicht so schwer sein, aber:
Zeile: 104
Zeichen: 7
Fehler: 'options[...].value' is null or not an object
Code: 0
URL: http://localhost/Verwaltung.phpund die Fehlerkonsole sagt: select2.options[i] is undefined
"Zeichen 7" wäre das [ "i" ].
code: (comments nur für euch)
function listIt_uadd()
{
var name = document.getElementById('newname');
//select1/2 sind die Auswahllisten
var select1 = document.benutzerverwaltung.sel_benutzer_edit;
var select2 = document.bloesch.del_benutzer;
//zum testen für mich
alert(select1.options[0].value);
alert(name.value);
for(var i=0; i <= select2.length; i++)
{
//ist egal ob select1 oder select2, da beide das gleiche beinhalten
//mit zB. select2.options[0].value gehts! - das "i" scheint das Problem zu sein
if(select2.options[i].value == name.value)
{
var ok=false;
break;
}
else
{
var ok=true;
}
}
if(ok==true)
{
select1.options[select1.length] = new Option(name.value,name.value,false,true);
select2.options[select2.length] = new Option(name.value,name.value,false,true);
}
else
{
return;
}
}
> bin noch javaScript Newbie, also bin für Verbesserungsvorschläge sicherlich dankbar, aber die Lösung des Problems ist für mich relevanter.
> ev. weiss jemand ein einfacheres "Verfahren" um zu: prüfen ob ein Eintrag in einer Auswahlliste schon vorhanden ist - wenn nicht, den Eintrag hinzufügen. :)
>
> liebe Grüsse
Danke für deine geopferte Zeit LX ;)
Da ich var i = 0; hatte durfte ich natürlich in der For-Schleife nicht (..;i <= select1.length;..) sondern ==.
Diesen Fehler habe ich leider bei den anderen Funktionen mit solch einer Schleife auch gemacht und nie eine Fehlermeldung o.ä. erhalten (verhielt sich auch fehlerfrei)
korrektur:
sondern ==.
richtig: <
lg