[js] een option toe voegen aan select in frame

Pagina: 1
Acties:

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 07-08 19:18
het mensen ik heb weer eens een vraag, ik begin steeds meer te snappen van het hele dom gebeuren enzo maar hier kom ik dus nog niet uit.

mijn code is als volgt:
code:
1
2
3
4
5
6
7
8
9
var newOption = parent.dataone.createElement('OPTION');
parent.dataone.getElemntById('vertrek').options.add(newOption);
newOption.innerText = "01 WOONKAMER";
newOption.value = "01 WOONKAMER";
                
var newOption = parent.dataone.createElement('OPTION');
parent.dataone.getElemntById('vertrek').options.add(newOption);
newOption.innerText = "02 WOONKAMER/HA";
newOption.value = "02 WOONKAMER/HA";

dit wordt door php gegenereerd maar ik blijf krijgen dat de methode niet wordt ondersteund, ik had eerst een andere oplossing die probeerde insertadjecenthtml te doen op een select box maar daar gebeurde simpel weg niets.
dataone is de frame naam en vertrek is het id en de naam van de select box in kwestie.
deze select box zit niet in een form oid dus dat hoeft er niet tussen. weet iemand waar de fout zit?
alvast bedankt.

openkat.nl al gezien?


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 09:41

Pelle

🚴‍♂️

Zoek de tiepvaudt:
code:
1
getElemntById

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 07-08 19:18
hmm tjah, maar hij werkt nog niet helaas. de getelementbyid is iig goed nu (ook case sensetive enzo) nog een idee pelle?

openkat.nl al gezien?


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 09:41

Pelle

🚴‍♂️

Ja: [search=option toevoegen]

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 07-08 19:18
jah duh dat hadden we natuurlijk al gedaan, maar ff serieus zie jij ook niks vreemds in de manier van aanroepen want jij bent toch wel een beetje js guru niet? :P

openkat.nl al gezien?


Verwijderd

createElement is een method van het document object.

Je roept dan ook aan:
code:
1
newOption = document.createElement('option');

Deze kun je aan de select toevoegen met:
code:
1
document.getElementById('selectId').appendChild(newOption);

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 07-08 19:18
moet het dan ook niet zo iets worden?
code:
1
2
3
4
var newOption = document.createElement('OPTION');
parent.dataone.getElementById('vertrek').appendChild(newOption);
parent.dataone.getElementById('vertrek').newOption.innerText = "01 WOONKAMER";
parent.dataone.getElementById('vertrek').newOption.value = "01 WOONKAMER";

want je moet dan ook de newoption in dat andere frame aanspreken.

[edit] niet dat dit werkt ofzo hoor :Z

openkat.nl al gezien?


Verwijderd

Op vrijdag 10 mei 2002 14:01 schreef killercow het volgende:
moet het dan ook niet zo iets worden?
code:
1
2
3
4
var newOption = document.createElement('OPTION');
parent.dataone.getElementById('vertrek').appendChild(newOption);
parent.dataone.getElementById('vertrek').newOption.innerText = "01 WOONKAMER";
parent.dataone.getElementById('vertrek').newOption.value = "01 WOONKAMER";

want je moet dan ook de newoption in dat andere frame aanspreken.
Je moet ook het document van het andere frame dat element laten maken.

Dus:
blaat = [frameverwijzing].document.createElement('option');
blaat.value = 'weetikveel';
[frameverwijzing].document.getElementById('selectId').appendChild(blaat);

En de [frameverwijzing] zal in jouw geval dus parent.dataone zijn, al wil ik je aanraden de langere, maar ook duidelijkere schrijfwijze te gebruiken:

parent.frames['dataone']

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 07-08 19:18
moo :(
code:
1
2
3
4
var newOption = parent.frames['dataone'].document.createElement('OPTION');
parent.dataone.getElementById('vertrek').appendChild(newOption);
newOption.innerText = "01 WOONKAMER";
newOption.value = "01 WOONKAMER";

zoiets kom ik dan toch op uit. maar t werkt niet

openkat.nl al gezien?


Verwijderd

getElementById is ook een method van het document object ;)

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 07-08 19:18
agh natuurlijk

maar alsnog, Cheetay je bent een held! ooit hoop ik net zo veel van js te weten als jij :P

openkat.nl al gezien?


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

ik weet niet of je er wat aan hebt, maar ik zou het eerder ongeveer zo doen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
frame: het framenummer pf -naam in de top-window
form:  naam van het formulier in desbetreffende frame
element: naam van het element in desbetreffende formulier
text: toe te voegen option-text
value: toe te voegen option-value
*/

function addoption ( frame, form, element, text, value )
{
   theSelect = 
     top.frames [ frame ].document.forms [ form ].elements [ element ];

   index = theSelect.options.length;
   theSelect.options [ index ] = new Option ( text, value );
}

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Op vrijdag 10 mei 2002 14:29 schreef drm het volgende:
ik weet niet of je er wat aan hebt, maar ik zou het eerder ongeveer zo doen:
/* archaische JS code ;) */
Zo doe ik het inderdaad ook (met new Option) maar op zich is het wel een goed initiatief om forwards compatible te zijn...soms is het de moeite echter niet. :D

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Blues:
Zo doe ik het inderdaad ook (met new Option) maar op zich is het wel een goed initiatief om forwards compatible te zijn...soms is het de moeite echter niet. :D
nee, 't is de taak van de browser om backward compatible te zijn met mijn creaties :+ ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1