[JavaScript] Text aan een textarea toevoegen

Pagina: 1
Acties:

  • J.Hollemans
  • Registratie: September 2001
  • Laatst online: 03-10-2025
Ik wil graag aan een textarea tekst toevoegen
met behulp van een hyper-link:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script language="JavaScript">
 <!--
    function addText(data)
    {
     window.document.formulier.message.value += data;
    }
 //-->
</script>

...

<form name=formulier>
 <textarea name="message" cols="40" rows="20" wrap="virtual"></textarea>
</form>

...

<a href="javascript:addText('Hello')">[img]"hello.gif"></a[/img]

Maar nu heb ik 2 problemen (lees: 2 uitdagingen) ;)

1)
De tekst die wordt toegevoegd wordt aan het einde van de textarea
toegevoegd en ik wil die graag op de plek van de cursor invoegen

2)
Als ik op het (geanimeerde) gifje klik, stopt deze met bewegen,
net als alle andere gifjes op de site en ik wil graag dat deze
door blijven bewegen

Ik heb al van alles geprobeerd, maar niets schijt te helpen :'(

Far from being some stuffy science, writing regular expressions is closer to an art.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

P&W -> W&G

  • J.Hollemans
  • Registratie: September 2001
  • Laatst online: 03-10-2025
Sorry... verkeerde topic, hoe kan ik 'em verplaatsen ?

Far from being some stuffy science, writing regular expressions is closer to an art.


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

1.
ik ken wel een IE only methode (NS weet ik zo effe niet). Een voorbeeldje:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html>
<script language="javascript" type="text/javascript">
function storeCursorPos(oTextarea)
{
    if (oTextarea.createTextRange) 
        oTextarea.cursorPos = document.selection.createRange().duplicate();
}

function insertAtCursor(oTextarea, sText)
{
    if (oTextarea.createTextRange && oTextarea.cursorPos)
    {
        var oCursorPos = oTextarea.cursorPos;
        oCursorPos.text = sText;
    }
    else oTextarea.value += sText;
}

</script>
<body>
<form>
<textarea name="foo" rows="5" cols="50" onselect="storeCursorPos(this)"
    onclick="storeCursorPos(this)" onkeyup="storeCursorPos(this)">
</textarea><br />
<input type="button" value="invoegen"
    onclick="insertAtCursor(this.form.foo, 'bar')" />
</form>
</body>
</html>

2.
Volgens mij kan je gewoon bij een onclick de src van de img opnieuw instellen (zelfde techniek als bij een onmouseover scriptje: document.imgnaam.src='bla.gif') en daarmee zou de animatie weer moeten starten.
Of misschien met de onabort eventhandler van de image (zal je effe na moeten kijken in de reference).

HTH

Today's subliminal thought is:


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 00:14

RM-rf

1 2 3 4 5 7 6 8 9

Op dinsdag 11 december 2001 01:40 schreef Annie het volgende:
2.
Volgens mij kan je gewoon bij een onclick de src van de img opnieuw instellen (zelfde techniek als bij een onmouseover scriptje: document.imgnaam.src='bla.gif') en daarmee zou de animatie weer moeten starten.
Of misschien met de onabort eventhandler van de image (zal je effe na moeten kijken in de reference).
waarschijnlijk helpt het in dit geval al om gewoon
code:
1
<a href="javascript:void(0)" onclick="functiecall()">linkje</a>

te doen

een HREF wordt opgevat als een link naar een andere pagina en zodra die wordt uitgevoerd houd het laden en animeren van images op (omdat dat niet nodig zou zijn als toch een nieuwe pagina wordt ingeladen)
je functie false laten returnen werkt ook, maar daar heeft msie nog al wel eens moeite mee (vat false dan als string op)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen