文本框小写转换成大写的问题

我用toUpperCase()在onkeyup的时候转换可以
但是光标老是跳到最后,请问有办法解决没有?

代码如下

 1<html>
 2<head>
 3<title></title>
 4<script language="javascript">   
 5function up()   
 6{   
 7//var tempstr = form1.text1.value;   
 8form1.text1.value = form1.text1.value.toUpperCase();   
 9}   
10</script>
11</head>
12<body>
13<form name="form1">
14<p><input id="text1" name="text1" onkeyup="up()"/></p>
15</form>
16</body>
17</html>

---------------------------------------------------------------

要求IE版本较高

1<style>   
2.a1 { text-transform : uppercase; }   
3</style>
1<input class="a1"/>

---------------------------------------------------------------

 1<html>
 2<head>
 3<title></title>
 4<script language="javascript">   
 5function up()   
 6{   
 7var r1=document.selection.createRange().duplicate();   
 8var r2=window.event.srcElement.createTextRange();   
 9r1.setEndPoint("StartToStart",r2);   
10var l=r1.text.length;   
11  
12//do sth here{   
13form1.text1.value = form1.text1.value.toUpperCase();   
14//}   
15  
16r2.moveStart("character",l);   
17r2.collapse();   
18r2.select();   
19}   
20</script>
21</head>
22<body>
23<form name="form1">
24<p><input id="text1" name="text1" onkeyup="up()"/></p>
25</form>
26</body>
27</html>

text-transform版本:CSS1 兼容性:IE4+ NS4+ 继承性:有
但提交的时候需要转换成大写

1<style>   
2#a1 { text-transform : uppercase; }   
3</style>
1<input id="a1"/>
1<input onclick="alert(a1.value)" type="button"/>
Published At
Categories with Web编程
comments powered by Disqus