Solved

Problem using Onkeypress event on a text control

Posted on 2002-06-10
7
255 Views
Last Modified: 2012-05-11
I have a text control in an ASP page in which user can enter alphanumeric data.I want to change lower case letters to uppercase once user enters a character and i am doing that using onkeypress event and it works fine but,the problem is suppose i have a value like CD-1-02-4010 in the text box and i think that i have entered wrong value and try to change any character in the value it is appending at the end of the value.It is not being entered in the right place.How do i overcome this

Here how i have
<form id = "frm">
<input type = text id = "txtTest" onkeypress = "Vbscript:CaseConversion"></input>
</form>
<script language = "vbscript">
    sub CaseConversion
      frm.txtTest.value = ucase(frm.txttest.value)        
    end sub
</script>

Above Code works but,it doesn't let me change the value.Some one please help.Thanks
0
Comment
Question by:Sireesha
  • 4
  • 3
7 Comments
 
LVL 12

Accepted Solution

by:
Wouter Boevink earned 50 total points
ID: 7069294
Your problem is then when a key is pressed your function is executed, it substitutes the value of a input box and then returns after which the character gets in the box.

try using this

<form id = "frm">
<input type = text id = "txtTest" onkeypress = "Vbscript:CaseConversion"></input>
</form>
<script language = "vbscript">
   sub CaseConversion
     if window.event.keyCode >= 97 and window.event.keyCode <= 122 then
          window.event.keyCode = window.event.keyCode - 32
       end if
   end sub
</script>

if a user types any character from lowercase 'a' to 'z' it will be substituted by uppercase 'A' - 'Z'
0
 

Author Comment

by:Sireesha
ID: 7070123
wboevink,
          it is working for all the characters but for the first character.Any suggestions please
thanks
0
 
LVL 12

Expert Comment

by:Wouter Boevink
ID: 7070170
On my computer it runs just fine, what do you mean by the first character. The first one you typed or the character 'a'?

Try this

<form id = "frm">
<input type = text id = "txtTest" onkeypress = "Vbscript:CaseConversion"></input>
</form>
<script language = "vbscript">
  sub CaseConversion
    if window.event.keyCode > 96 and window.event.keyCode < 123 then
         window.event.keyCode = cint(window.event.keyCode) - 32
      end if
  end sub
</script>


0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 

Author Comment

by:Sireesha
ID: 7070188
It still doesn't work.I mean fist character.What ever character i type first.It is strange.I will keep trying and let you know.Please let me know if you can think of anything else in the mean while.Thanks
0
 

Author Comment

by:Sireesha
ID: 7070220
It works fine now.I had an if condition before i think that was causing that to happen.Any way thanks alot and i will close the close in a while once i make sure everything is fine.Thanks alot
0
 
LVL 12

Expert Comment

by:Wouter Boevink
ID: 7070509
So the points are mine?

:-)
0
 

Author Comment

by:Sireesha
ID: 7070519
Yes,they are your's i will close it right a way.Thanks again
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I recently decide that I needed a way to make my pages scream on the net.   While searching around how I can accomplish this I stumbled across a great article that stated "minimize the server requests." I got to thinking, hey, I use more than one…
I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question