[js]Focus in een textarea

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Greetings,

ik moet iets maken waarbij je met een knop in een textarea een regeltje bijzet met de datum vanvandaag en de code van de persoon die op dat moment aan het werken is. Deze tekst moet voor de tekst die al in de textarea zit komen en dan moet mijn cursor nog direct achter die regel staan...

vb.
Textarea ="klant heeft gebeld"
ik klik op de knop en dan word textarea
Textarea="Ikke20090311
klant heeft gebeld"
En dan moet onmiddelijk de cursor achter 'Ikke20090311 ' komen.
JavaScript:
1
2
3
4
5
        var oldValue = document.myform.CommentaarOpvolging.value;
        var Text = newText +"\n"+ oldValue;
        document.myform.CommentaarOpvolging.value = Text;
        document.myform.CommentaarOpvolging.focus();
        }

Dit is wat ik heb, kunnen jullie me helpen? Dat zou heel fijn zijn.

Just me


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:33

MueR

Admin Tweakers Discord

is niet lief

Voor zover ik weet gebruikt een textarea de value property niet. Verder zul je met de caret moeten gaan spelen. Wat lukt daar niet aan?

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Galen schreef op dinsdag 03 november 2009 @ 10:51:
Greetings,

ik moet iets maken waarbij je met een knop in een textarea een regeltje bijzet met de datum vanvandaag en de code van de persoon die op dat moment aan het werken is. Deze tekst moet voor de tekst die al in de textarea zit komen en dan moet mijn cursor nog direct achter die regel staan...

vb.
Textarea ="klant heeft gebeld"
ik klik op de knop en dan word textarea
Textarea="Ikke20090311
klant heeft gebeld"
En dan moet onmiddelijk de cursor achter 'Ikke20090311 ' komen.
JavaScript:
1
2
3
4
5
        var oldValue = document.myform.CommentaarOpvolging.value;
        var Text = newText +"\n"+ oldValue;
        document.myform.CommentaarOpvolging.value = Text;
        document.myform.CommentaarOpvolging.focus();
        }

Dit is wat ik heb, kunnen jullie me helpen? Dat zou heel fijn zijn.
Persoonlijk denk ik dat je een denkfout maakt.

Je wil eigenlijk elke keer een nieuwe notitie maken en niet een oude wijzigen. De textarea zou dus leeg moeten zijn. Eventueel kan je wel de oude notitie er boven plaatsen, als normale text.

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 17-09 12:52
MueR schreef op dinsdag 03 november 2009 @ 11:08:
Voor zover ik weet gebruikt een textarea de value property niet. Verder zul je met de caret moeten gaan spelen. Wat lukt daar niet aan?
Niet het value attribuut, wel de value property op het object.

Acties:
  • 0 Henk 'm!

Verwijderd

Wat lukt er dan niet?

Je zou het via jQuery kunnen proberen met een van de scriptjes op deze pagina: http://www.mail-archive.com/jquery-en@googlegroups.com/msg25973.html

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)



Werkt :?
Cursor positie zetten is prima te vinden. Zet de cursor positie op de lengte van de nieuw toegevoegde text et voila.
Nogal overkill voor zoiets simpels, niet?

[ Voor 39% gewijzigd door RobIII op 03-11-2009 11:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:33

MueR

Admin Tweakers Discord

is niet lief

Bosmonster schreef op dinsdag 03 november 2009 @ 11:23:
Niet het value attribuut, wel de value property op het object.
Oh ja, die vergeet ik constant.. ik knal het gewoon altijd in de innerhtml. Werkt ook :p

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
allen bedankt. _/-\o_

Het werkt momenteel zoals ik het wou.

Voor de geïntreseerden dit is mijn oplossing.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function changeText(newText) {
        var oldValue = document.myform.CommentaarOpvolging.value;
        var Text = newText + "  " +"\n"+ oldValue;
        document.myform.CommentaarOpvolging.value = Text;
        setCursor(document.getElementById('CommentaarOpvolging'),13,13);
        }

function setCursor(el,st,end) {
        if(el.setSelectionRange) {
        el.focus();
        el.setSelectionRange(st,end);
        }
        else {
        if(el.createTextRange) {
        range=el.createTextRange();
        range.collapse(true);
        range.moveEnd('character',end);
        range.moveStart('character',st);
        range.select();
        }
        }
        } 

Just me


Acties:
  • 0 Henk 'm!

  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

Test wel even goed xbrowser want dat gaat toch vaak fout met die caret-regel dingetjes.

TabCinema : NiftySplit


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:33

MueR

Admin Tweakers Discord

is niet lief

Doe jezelf overigens een lol en zorg dat je tab indenting consequent gebruikt. Dat leest ongeveer honderd keer makkelijker.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
@ MueR
Ja ik weet het, maar hier even niet aan gedacht.

Just me

Pagina: 1