Hallo,
het volgens is mijn probleem.
ik heb een soort van auto-complete in een inputbox.
is de text die erbij komt kort, dan is er niets aan de hand.
is de text erg lang dan "schuift" de tekst een klein tikje naar links, waardoor
de eerst letter niet meer te zien is.
het idee is, dat de tekst die erbij komt geselecteerd is en als je dus verder tikt, het simpelweg verdwijnt.
wie kan mij helpen om dit te fixen?
hier mijn vluchtige testcode.
het volgens is mijn probleem.
ik heb een soort van auto-complete in een inputbox.
is de text die erbij komt kort, dan is er niets aan de hand.
is de text erg lang dan "schuift" de tekst een klein tikje naar links, waardoor
de eerst letter niet meer te zien is.
het idee is, dat de tekst die erbij komt geselecteerd is en als je dus verder tikt, het simpelweg verdwijnt.
wie kan mij helpen om dit te fixen?
hier mijn vluchtige testcode.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Issue #1669 Test</title>
</head>
<body>
<script type="text/javascript">
var bFirst = true;
function testme(objID)
{
var strValue = document.getElementById(objID).value;
if ((strValue.length == 3) && (bFirst))
{
var strAddText = "korte text";
switch (strValue)
{
case "ZZZ" : strAddText = "nog meer text en al dat andere soort valderie valdera";
break;
default: break;
}
document.getElementById(objID).value += strAddText;
var startPos = 3;
var endPos = document.getElementById(objID).value.length;
if (document.all)
{
//IE-strange
var lg=document.getElementById(objID).createTextRange();
lg.collapse(true);
lg.moveEnd("character",endPos);
lg.moveStart("character",startPos);
lg.select();
}
else
{
document.getElementById(objID).setSelectionRange(startPos,startPos+endPos);
}
bFirst = false;
}
else if (strValue.length == 0)
{
bFirst = true;
}
}
</script>
<b>TESTCASE 1</b>
<p>
type in ZZZ to generate a long text
</p>
<input type="text" id="longInput" value="" onkeyup="testme('longInput')" />
</body>
</html> |