Keypress Event

   I am new to VB Script and ASP. I am used to the Keypress event in VB and am looking for an example of the same in VB Script.
    Okay, I know there are client events for the input type=text called onkeypress and onkeydown. Can someone give me an idea how these events are properly taken advantage of?
    Please post your code below. (I am specifically looking for a way to check for the enter key to direct the page to a sub, and not allowing for ' character in certain fields for obvious reasons.)

Thanks in advance.
LVL 1
SpartikusAsked:
Who is Participating?
 
markdouglasCommented:

I use this Javascript Client Side code quite often to detect the enter key or the escape key on a page.  



This is the html required
<html>
<body  onkeypress="CmdKeyPress();" onload="OnWindowLoad();" >
</html>




This is the Client side code required
<script language="JavaScript">

function CmdKeyPress()
{
      var strKeyCode;

      strKeyCode = window.event.keyCode;
        // Enter
      if(strKeyCode == 13)
      {
            if(document.YourForm.cmdSave.disabled == false)
            {   // Call Function1
                  Function1();
            }
            else
            {    // Call Function2
                  Function2();
            }
      }
        // Cancel
      if(strKeyCode == 27)
      {
            Function3();
      }
}

</Script>

0
 
cable4096Commented:

<script language="VBScript">
Sub cmd_Status_Click_Keypress
if KeyASCII = 13 then
   Navigate "subpage.asp"
End if
End Sub
</script>

The button named cmd_Status will have a Keypress event. ASCII 13 is a carriage return, if the user presses this on the button, it will go to subpage.asp via the navigate command.

I suppose you could have it on a Form event as well?

As for not allowing the ' character, just do a:

s_text = Replace(s_text,"'","")

Before submitting a string via the navigate command.
0
 
cable4096Commented:
Sorry, I think it should be without the click in the name of the sub. Try the replace command like this:

<script language="VBScript">
Sub cmd_Status_Keypress
Dim s_Text
if KeyASCII = 13 then
   s_Text = "" & document.form.txtname.value
   s_Text = Replace(s_Text,"'","")
   Navigate "subpage.asp?s_Text=" & s_Text
End if
End Sub
</script>

It combines the technuiqes, removing the quote characters from the string, and then navigating to the sub page with a parameter set to the text box the user entered information into.

Some people doublequote like so:
s_Text = Replace(s_Text,"'","''")

Or chnage it to the aposterphy

s_Text = Replace(s_Text,"'","`")

0
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

 
SpartikusAuthor Commented:
Edited text of question.
0
 
SpartikusAuthor Commented:
cable4096

   -Did you test this answer? It doesn't appear as it really recognizes KEYAscii in the sub...  please explain to me why when I try it, it does not.
0
 
SpartikusAuthor Commented:
cable4096

   -Did you test this answer? It doesn't appear as if it really recognizes KEYAscii in the sub...  please explain to me why when I try it, it does not.
0
 
SpartikusAuthor Commented:
   This is a good answer though it isn't in VB Script. As it turns out I managed to develop a solution before receiving this answer.

The key to the solution for me was IE 4 recognizes onkeydown. Then it was a matter of using window.event.keyCode to check for whichever key was pressed.

Thanks for the help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.