[js] object.innerhtml - object variable maken

Pagina: 1
Acties:

  • Quinie
  • Registratie: Juli 2001
  • Laatst online: 29-07-2025
Ik ben bezig een formulier te maken waar dynamisch invul velden aan toe worden gevoegt. Dit doe ik doormiddel van een span met een id te vullen met html code.
Bij iedere insert van hthml voeg ik ook een nieuwe span toe met een oploppend id.

Echter ik krijg de code om de span te vullen niet variable.
Goed wat doe ik nu percies met code

Ik heb 1 vast span id in de html zitten
<span id=cust1 style="position:relative;"></span>

deze wordt gevult met een variable data waarin html zit
data = "<table width='100%' border='0'>" ......
+ "<span id=cust" + rowcount + "style='position:relative;'></span>"


Dit wodt dan gevult doormiddel van
if (document.all) {
cust.innerHTML = data; ......

nu klopt in dit voorbeeld de code cust.innerHTML = data; omdat dit iets van cust(x)
zou moeten zijn ik krijg dit echter op geen enkel manier voor elkaar. maak ik er cust1 van vult de eerste rij gewoon goed (logisch). is het mogelijk om aan de het object naam (cust) een variable (rowcount) toe te voegen ?


http://www.Quinie.nl
http://soundcloud.com/quinie
https://www.wereoutthere.nl


  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
Javascript hoort niet thuis in P&W, zie de forumdescriptions

P&W -> W&G

https://fgheysels.github.io/


  • Quinie
  • Registratie: Juli 2001
  • Laatst online: 29-07-2025
excuus zie nu ook dat ik in het verkeerde forum zit

edit: bedankt voor move

[ Voor 38% gewijzigd door Quinie op 07-08-2003 11:41 ]


http://www.Quinie.nl
http://soundcloud.com/quinie
https://www.wereoutthere.nl


  • DaRace
  • Registratie: Juni 2001
  • Laatst online: 03-10-2023
je zou het met var obj=eval('cust' + row); kunnen doen, en dan obj.innerHTML kunnen zetten. Maar waarom voeg je telkens een nieuwe span toe?

Kan je niet gewoon een aantal keren cust.innerHTML += [toegevoegde HTML]; doen ?

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

drm

f0pc0dert

Ik snap werkelijkwaar helemaal geen worst van je verhaal :o

In ieder geval even wat vraagjes die zo in me op komen
• Waar dienen die spans nou voor?
• Waarom hebben ze allemaal een eigen id?
• Waarom werk je niet met DOM methoden als getElementById (), appendChild (), setAttribute (), etcetera ?
• Als je de span vult met data, ben je je er dan van bewust dat een span element geen block-level elements mag bevatten (zoals div, table, etc...) ?

Als je nou op die vragen antwoord zou kunnen geven wordt 't geheel voor mij misschien een beetje duidelijker :)

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


Verwijderd

eval is vies, heel vies

doe nou gewoon document.getElementById('cust'+nr).innerHTML, met een beetje searchen had je dat wel gevonden

offtopic:
en gevuld is met een d :X

[ Voor 20% gewijzigd door Verwijderd op 07-08-2003 12:32 ]


  • Quinie
  • Registratie: Juli 2001
  • Laatst online: 29-07-2025
Bedankt voor het advies ga gelijk testen.. getElementbyid dus..
Drm: antwoord zo ik je niet kunnen geven mijn kennis van programeren is nu niet zo heel erg groot. net zo als mijn nederlands btw ;) . Gelukkig heb ik meer verstand van automatiseren; in plaats van programmeren

edit: dank u mensen += deed de truc (thx DaRace)

snap nu denk ik ook beter je vragen drm
idd nu ook gen nieuwe span's nodig en geen eigen id. Echter je ene laatste punt gebruik je functies waarvan ik het bestaan niet ken..
En je laatste punt. nee ben ik me niet van bewust. Ik zal wel in jullie ogen heel vies programmeren maar het werkt nu. Nogmaals bedankt voor de hulp

[ Voor 42% gewijzigd door Quinie op 07-08-2003 13:27 ]


http://www.Quinie.nl
http://soundcloud.com/quinie
https://www.wereoutthere.nl


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 14:11

crisp

Devver

Pixelated

De sluier nog een tipje verder oplichten dan:

document.all is IE-only (hoewel Opera het ook ondersteund), en eigenlijk momenteel alleen nog maar voorbehouden aan IE4-ondersteuning omdat IE5+ de DOM methode getElementById ondersteund.
Voor IE4 had je trouwens document.all['cust'+x].innerHTML kunnen gebruiken, dus eval is voor dit soort zaken absoluut niet nodig.

Daarnaast zijn er ook mooiere methoden om elementen aan je document toe te voegen; aanschouw het volgende:

JavaScript:
1
2
3
4
5
6
var container = document.getElementById('cust);
var x = 1;
var s = document.createElement('span');
s.id = 'cust'+x;
s.innerHTML = 'blabla';
container.appendChild(s);


zo hoef je dus niet telkens de complete innerHTML van je container te overschrijven, maar kan je gewoon elementen toevoegen eraan :)

Intentionally left blank


  • Quinie
  • Registratie: Juli 2001
  • Laatst online: 29-07-2025
Gelukkig ging het hier om een kleine snelle applicatie voor intern gebuik op IE
Echter dit soort info ben ik zeer blij mee. Hier kan ik veel van leren namelijk

crisp: in je voorbeeld gebruik je dus DOM object (of zeg ik dat verkeerd)
Ik begrijp de hele werking van je voorbeeld script behalve de var container (regel 1)
Dit komt waarschijnlijk door dat ik niet op de hoogte ben met getElementById ik ga hier dus ook zekers ff naar googlen.


http://www.Quinie.nl
http://soundcloud.com/quinie
https://www.wereoutthere.nl


Verwijderd

surf dan meteen naar www.w3schools.com en lees even de stukjes over het DOM en DHTML
Pagina: 1