Knifflig - was für Tüfftler
Innuendo
- javascript
Hallo!
ich habe folgendes Problem.
Ich habe ein Framset und möchte über ein Formular den oberen Frame "füttern".
In meinem IE 6.0 funkt es hervorragend, ABER leider nicht im IE 5.0.
Hier das Script:
<form name="beamup">
<input type="hidden" name="liste" value="Test"></form>
<script language="JavaScript">
function hinzufuegen(ziel)
{
//Werte und Text für neue Option zuteilen
var neuereintrag = new Option()
neuereintrag.value = document.beamup.liste.value;
neuereintrag.text = document.beamup.liste.value;
//Neue Option eintragen
ziel.options[ziel.options.length] = neuereintrag;
}
hinzufuegen(parent.menu.formlist.listbox);
</script>
Wobei menu der Name des Frames ist.
Die Fehlermeldung lautet, dass ziel.options.length kein Objekt bzw. Eigenschaft ist.
Hat jemand einen Tipp für mich?
Hallo!
ich habe folgendes Problem.
Ich habe ein Framset und möchte über ein Formular den oberen Frame "füttern".
In meinem IE 6.0 funkt es hervorragend, ABER leider nicht im IE 5.0.
Hier das Script:
<form name="beamup">
<input type="hidden" name="liste" value="Test"></form>
<script language="JavaScript">
function hinzufuegen(ziel)
{
//Werte und Text für neue Option zuteilen
var neuereintrag = new Option()
neuereintrag.value = document.beamup.liste.value;
neuereintrag.text = document.beamup.liste.value;
//Neue Option eintragen
ziel.options[ziel.options.length] = neuereintrag;
}
hinzufuegen(parent.menu.formlist.listbox);
</script>
Wobei menu der Name des Frames ist.
Die Fehlermeldung lautet, dass ziel.options.length kein Objekt bzw. Eigenschaft ist.
Hat jemand einen Tipp für mich?
Bist Du sicher, daß Du das Objekt auch "triffst"? Prüf' das doch mal nach mit onClick = "javascript:alert(this.name)" und alert(parent.name)...
Verstehst Du was ich meine?
cu
Graphity
Hallo,
sodala, ich habe jetzt folgendes ausprobiert:
ich habe mir die Länge des ziel.options ausgeben lassen:
mit alert(parent.menu.formlist.listbox.options.length);
Das funkt hervorragend.
Es scheitert einfach nur am ersten, an "ziel.options"[ziel.options.length] = neuereintrag;
Es ist zum *ausderhautfahren*
sl,
Innuendo
Hallo!
ich habe folgendes Problem.
Ich habe ein Framset und möchte über ein Formular den oberen Frame "füttern".
In meinem IE 6.0 funkt es hervorragend, ABER leider nicht im IE 5.0.
Hier das Script:
<form name="beamup">
<input type="hidden" name="liste" value="Test"></form>
<script language="JavaScript">
function hinzufuegen(ziel)
{
//Werte und Text für neue Option zuteilen
var neuereintrag = new Option()
neuereintrag.value = document.beamup.liste.value;
neuereintrag.text = document.beamup.liste.value;
//Neue Option eintragen
ziel.options[ziel.options.length] = neuereintrag;
}
hinzufuegen(parent.menu.formlist.listbox);
</script>
Wobei menu der Name des Frames ist.
Die Fehlermeldung lautet, dass ziel.options.length kein Objekt bzw. Eigenschaft ist.
Hat jemand einen Tipp für mich?
Bist Du sicher, daß Du das Objekt auch "triffst"? Prüf' das doch mal nach mit onClick = "javascript:alert(this.name)" und alert(parent.name)...
Verstehst Du was ich meine?
cu
Graphity
Hallo,
sodala, ich habe jetzt folgendes ausprobiert:
ich habe mir die Länge des ziel.options ausgeben lassen:
mit alert(parent.menu.formlist.listbox.options.length);
Das funkt hervorragend.
Es scheitert einfach nur am ersten, an "ziel.options"[ziel.options.length] = neuereintrag;
Es ist zum *ausderhautfahren*
sl,
Innuendo
Könntest Du die drei Seiten per e-Mail schicken? Vielleicht kann ich dann besser helfen. Am besten als .zip
cu
Graphity
Hej,
1. kann .listbox wirklich so verwendet werden?
2. schau doch mal unter der JS-Script Doku nach, wie Du unter options die length eigenschaft ansprechen kannst. Da müßte options nach meiner Ansicht raus:
<a href="http://selfhtml.teamone.de/javascript/objekte/options.htm#length">href="http://selfhtml.teamone.de/javascript/objekte/options.htm#length</a>
Marko
Hallo!
ich habe folgendes Problem.
Ich habe ein Framset und möchte über ein Formular den oberen Frame "füttern".
In meinem IE 6.0 funkt es hervorragend, ABER leider nicht im IE 5.0.
Hier das Script:
<form name="beamup">
<input type="hidden" name="liste" value="Test"></form>
<script language="JavaScript">
function hinzufuegen(ziel)
{
//Werte und Text für neue Option zuteilen
var neuereintrag = new Option()
neuereintrag.value = document.beamup.liste.value;
neuereintrag.text = document.beamup.liste.value;
//Neue Option eintragen
ziel.options[ziel.options.length] = neuereintrag;
}
hinzufuegen(parent.menu.formlist.listbox);
</script>
Wobei menu der Name des Frames ist.
Die Fehlermeldung lautet, dass ziel.options.length kein Objekt bzw. Eigenschaft ist.
Hat jemand einen Tipp für mich?
Hallo Marko,
- kann .listbox wirklich so verwendet werden?
Ja, warum denn nicht? listbox ist schließlich nur der Name meiner Listbox. Hatte aber auch schon den Namen test, also daran kanns nicht liegen
- schau doch mal unter der JS-Script Doku nach, wie Du unter options die length eigenschaft ansprechen kannst. Da müßte options nach meiner Ansicht raus:
<a href="http://selfhtml.teamone.de/javascript/objekte/options.htm#length">href="http://selfhtml.teamone.de/javascript/objekte/options.htm#length</a>
da steht es nur genauso drinnen wie ich es verwende.
Das script sieht jetzt schon so aus:
//Werte und Text für neue Option zuteilen
var neuereintrag = new Option(document.beamup.liste.value, document.beamup.liste.value, false, true)
//auslesen der länge - funkt auch
laenge = parent.menu.formlist.listbox.options.length;
//einfach nur zum testen, das funkt ohne weiteres
parent.frames[0].document.forms[0].hias.value = 'af';
//Neue Option eintragen
parent.menu.document.forms[0].listbox.options[laenge] = neuereintrag;
wenn ich die letzte Zeile abändere auf:
document.forms[0].listbox.options[laenge] = neuereintrag;
und in diesem Frame das gleiche Formular habe, geht es auch.
parent.menu.document.forms[0].listbox.options[laenge] = neuereintrag;
Shit happens?
sl,
Innuendo