Toon posts:

[javascript] positie cursor bepalen werkt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb de volgende functie bedacht:

function addSmilie(smilie, forumsend, forum_text) {

var CursorPos = GetCursorPos(document.forumsend.forum_text.value);
var firstPart = document.forumsend.forum_text.value.substring(0, CursorPos);
var secondPart = document.forumsend.forum_text.value.substring
(CursorPos, document.forumsend.forum_text.value.length);
newvalue = firstPart + smilie + secondPart;
document.forumsend.forum_text.value=newvalue;
document.forumsend.forum_text.focus(CursorPos);

return; }


maar.. hij werkt niet.. krijg de foutmelding : Object wordt verwacht.
iemand een idee hoe dat kan.. dit moet toch werken naar mijn id.

[ Voor 13% gewijzigd door Verwijderd op 19-01-2004 09:56 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

document.forms[forumsend].elements[forum_text]

de dot-notatie is niet handig als je met variabelen werkt ;)

[ Voor 116% gewijzigd door crisp op 19-01-2004 09:59 ]

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op 19 januari 2004 @ 09:57:
document.forms[forumsend].elements[forum_text]

de dot-notatie is niet handig als je met variabelen werkt ;)
hmm ben nog een beetje beginnend javascript.. wat is dan het 'niet handige' want gebruik het vaker en dan werkt het wel.

ps... zelfde foutmelding

[ Voor 6% gewijzigd door Verwijderd op 19-01-2004 10:00 ]


  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 11-05 10:29
Verwijderd schreef op 19 januari 2004 @ 09:58:
hmm ben nog een beetje beginnend javascript.. wat is dan het 'niet handige' want gebruik het vaker en dan werkt het wel.
Sommige tekens betekenen iets speciaals in javascript en als je die tekens dan gebruikt in naam van je input-velden dan raakt je javascript van slag :P. (Bijvoorbeeld []| enzo :)).

Verwijderd

Topicstarter
ohja.. is ook wel logisch.. (i'll keep that in mind) maar niet de oplossing.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 19 januari 2004 @ 09:58:
[...]


hmm ben nog een beetje beginnend javascript.. wat is dan het 'niet handige' want gebruik het vaker en dan werkt het wel.
Je vraagt een variabele property aan, dat kan niet met de dotnotatie:

JavaScript:
1
2
3
4
5
var formname = 'form1';

var theform = document.formname; // zoekt letterlijk een form genaamd 'formname'

var theform = document.forms[formname]; // zoekt een form genaamd 'form1'


btw, debuggen werkt in Mozilla vele malen prettiger omdat die ook aangeeft welk object dan precies verwacht wordt. Aan de andere kant zal echter je code ws IE-only zijn, maar hier vind je een script dat ook in Mozilla werkt ;)

Intentionally left blank


Verwijderd

Topicstarter
hmm wel een mooi script. maar wilde eigenlijk wel de mijne fixen.. I have to learn it sometime.. en.. ben geen voorstander van copy-past.. :)

wel interresant hoor om zoiets even door te lezen.. brengt wel id-en boven!

nu heb ik dus dit:

function addSmilie(smilie, forumsend, forum_text) {
oldMessage = document.forms[forumsend].elements[forum_text].value;
var CursorPos = GetCursorPos(oldMessage);
var firstPart = oldMessage.substring(0, CursorPos);
var secondPart = oldMessage.substring(CursorPos, oldMessage.length);
newvalue = firstPart + smilie + secondPart
document.forms[forumsend].elements[forum_text].value=newvalue;
document.forms[forumsend].elements[forum_text].focus(CursorPos);
return; }
edit:
of om het even overzichtelijker te maken zo..



andere ideeen?

ander vraagje.. moet ik de cursor pos. niet bij iedere verandering in de textarea opslaan? of wordt dit automatisch al gedaan?

[ Voor 99% gewijzigd door Verwijderd op 19-01-2004 10:20 ]

Pagina: 1