Ik ben bezig met een stukje code dat het volgende doet:

Ik heb een div en als je daarin klikt krijg je een header en een textarea.
Het lijkt een beetje op hoe je de chat ziet in MSN, dus:

Martijn: |___textarea____

Wat echter een probleem is, als je net een keer geklikt heb en je hebt tekst getypt.
Je klikt daarna nogmaals, dan word de text die je net getypt hebt weggehaald.

Om het te visualiseren:

Martijn: | bla bla bla
{klik}
Martijn: |_______________
Martijn: |_______________

Iemand enig idee hoe ik ervoor kan zorgen dat 'bla bla bla' blijft staan?
Ik gebruik div.appendChild( textarea ),
niet div.innerHTML = '<textarea/>'.
Dit omdat het overzichtelijker is.


En == moet ik helemaaaal niet hebben, dit is voor een vergelijking ^^

Heb je code of een online voorbeeld? Weet je zeker dat je niet aan de DOM-node van die al ingevulde textarea komt? (sowieso zou dat gewoon goed moeten gaan, zolang je hem maar niet vervangt door een andere, nieuwe textarea)
Hierbij een stukje code voor het aanmaken van een nieuw tekstvlak


div.innerHTML += 'Martijn : <br/>';

var input	= document.createElement( 'input' );
input.type	= 'hidden';
input.name	= 'header[]';
input.value	= 'Martijn';
div.appendChild( input );

var ta			= document.createElement( 'textarea' );
ta.name			= 'text[]';
ta.rows			= '1';

ta.setAttribute( 'style', 'font-family:arial; font-size:10pt; width: 690px; border: 0px;' );

div.appendChild( ta );

ta.focus( );
Jij hebt: div.innerHTML += '...';
Dat wilt wel eens wat verkl*ten.
Vervang dat deel eens door:
div.appendChild(document.createTextNode('Martijn : '));
div.appendChild(document.createElement('br'));
-.-' oke dan
Het werkt bedankt.

Reageren