[JS, DOM] AppendChild en textboxen

Pagina: 1
Acties:

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 23:14

Rhapsody

In Metal We Trust

Topicstarter
Hallo,

Ik ben weer flink aan het knutselen met javascript en nu ben ik tegen een probleem aangelopen waar ik eigenlijk niets over kan vinden op internet.

Ik wil een element (een div of een span ofzo) middels DOM aan een textbox toevoegen.

Als ik dit doe:
JavaScript:
1
document.getElementById('textboxId').appendChild(divObject); 

Dan krijg ik de volgende foutmelding:
Unexpected call to method or property access
Als ik op die foutmelding zoek krijg ik wel wat hits bij Google, maar geen bruikbare.
Is er hier misschien iemand die weet of dit uberhaupt wel kan? (ik kan nl. ook nergens een voorbeeld vinden)
En als het dus wel kan... hoe?

🇪🇺 pro Europa!


  • r0bert
  • Registratie: September 2001
  • Laatst online: 26-04 17:38
Je kunt geen elementen in een textbox stoppen, logisch

e:
- gebruik een div met contenteditable ofzo. Maar een DIV binnen een input-text of een textarea, weet ook niet hoe je je dat voor wilt stellen :?

@Sappie. Mja, voor input type="text" etc.. ook natuurlijk :) ging ik maar vanuit na lezen van bovenstaande

[ Voor 81% gewijzigd door r0bert op 02-06-2005 15:12 ]


  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

tenminste als je met een textbox een <textarea> bedoelt :)

Specs | Audioscrobbler


  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 23:14

Rhapsody

In Metal We Trust

Topicstarter
r0bert schreef op donderdag 02 juni 2005 @ 15:10:
Je kunt geen elementen in een textbox stoppen, logisch
Verrek ja, ik zit er denk ik al te lang mee te klooien :S
Is het wel mogelijk om een object direct na een gegeven element te plaatsen?

Ik wil namelijk een element (een span dus) naast een textbox plaatsen.

[ textbox ] [ hier ]


edit: met textbox bedoel ik <input type="text"

[ Voor 6% gewijzigd door Rhapsody op 02-06-2005 15:12 ]

🇪🇺 pro Europa!


  • r0bert
  • Registratie: September 2001
  • Laatst online: 26-04 17:38
Als er in het parentElement verder alleen een textbox zit. Gewoon appendChild op de parentNode uitvoeren. Anders insertAfter....nog iets... *gaat googlen* e: Mja, insertAfter, moet je maar even in references lezen..

[ Voor 17% gewijzigd door r0bert op 02-06-2005 15:14 ]


  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

http://www.quirksmode.org/dom/w3c_core.html#nodemanipulation

insertBefore dus :)

[ Voor 17% gewijzigd door Sappie op 02-06-2005 15:14 ]

Specs | Audioscrobbler


  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 23:14

Rhapsody

In Metal We Trust

Topicstarter
Dankzij robert's post over insertAfter werdt ik weer even in de goede richting geduwd!!
Dank je wel.

Dit is de oplossing:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
        var ding = document.createElement('span');
        var txt = document.createTextNode('foutje');
        ding.appendChild(txt);
        var obj = document.getElementById(obj_id);
        this.insertAfter(obj.parentNode, ding, obj);
        
    }
    formValidator.prototype.insertAfter = function(parent, node, referenceNode) 
    {
    parent.insertBefore(node, referenceNode.nextSibling);
    }

Disclaimer: dit is ff een probeerseltje, nu ga ik het verder uitwerken. Bedankt allen!


edit: voor de volgende met deze vraag: http://www-128.ibm.com/de.../library/x-matters41.html

[ Voor 12% gewijzigd door Rhapsody op 02-06-2005 15:21 ]

🇪🇺 pro Europa!


  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

mjah aangezien insertBefore reeds bestaat is insertAfter uiteraard geheel overbodig.. maar dat had je al begrepen als je je wat meer had verdiept in DOM scripting ;)

Specs | Audioscrobbler

Pagina: 1