[js][IE] positie cursor in textarea

Pagina: 1
Acties:

  • wilcodl
  • Registratie: September 2004
  • Laatst online: 24-06 21:35
Hallo, ik heb hier (comments) een code gevonden om de positie van de cursor in een textarea veld te achterhalen, maar krijg deze code niet werkend. IE zegt dat er een 'ongeldig argument' op regel 9 is, maar ik zie niet wat daar fout is. Het (werkende) script is hier te vinden.

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<head>
<title>test</title>
<script language="javascript" type="text/javascript">
function get(){
var len = document.selection.createRange().text.length;

var yourrange = document.form.bericht.createTextRange();
yourrange.setEndPoint('EndToStart', document.selection.createRange());
var yourselstart = yourrange.text.length;
alert( yourselstart );
}
</script>
</head>
<body>
<form action="" method="post" name="form">
<textarea cols="30" rows="5" name="bericht"></textarea>
<input onclick="get();" type="button" value="Klik" name="reset" />
</form>
</body>
</html>

  • wilcodl
  • Registratie: September 2004
  • Laatst online: 24-06 21:35
*schop* ;) , niemand ideeen hoe dit op te lossen?

  • dexonic
  • Registratie: Februari 2003
  • Laatst online: 16-12-2019

dexonic

efficient != nuttig

ooit eens iets gemaakt om bijv smileys in een textarea te gooien..
op de plek vd cursor..
heb je denk ik wel wat aan..

HTML:
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
30
<form method="post" action="" name="gastenboek">
<textarea name="gb" id="gb"></textarea>
<input type="submit" name="submit" value="Verzend" />
</form>

<script language="javascript" type="text/javascript">
        function putStr(myValue)
        {
            myField = document.gastenboek.gb;

            //ie
            if (document.selection) {
                myField.focus();
                sel = document.selection.createRange();
                sel.text = myValue;
            }
            //mozilla
            else if (myField.selectionStart || myField.selectionStart == '0') {
                var startPos = myField.selectionStart;
                var endPos = myField.selectionEnd;
                myField.value = myField.value.substring(0, startPos)
                + myValue
                + myField.value.substring(endPos, myField.value.length);
            }
            else {
                myField.value += myValue;
            }
            myField.focus();
        }
</script>

edit: typo

  • wilcodl
  • Registratie: September 2004
  • Laatst online: 24-06 21:35
bedankt voor je reactie dexonic, alleen dit is niet helemaal wat ik bedoel. Ik wil de positie (hoeveel karakters er voor de cursor staan) uitlezen. In Firefox is dit heel makkelijk nml: myField.selectionStart alleen in IE gaat dat niet zo makkelijk...