• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 282
  • Last Modified:

Problem in OnKeyDown

Hi

I have a textbox

<asp:TextBox ID = "txtMultilineTextBox" runat = "server"></asp:TextBox>

On Key down event I have written following code.

 
var txtMultilineTextBox = document.getElementById("<%=txtMultilineTextBox.ClientID %>");        
alert(txtMultilineTextBox.value.length);

When II press space on the textbox for the first time I am getting alert with value 0 when I press space again I got 1. Why is the first time I am getting the length of textbox as zero.


Regards
Karan
0
KaranGupta
Asked:
KaranGupta
2 Solutions
 
Rikin ShahMicrosoft Dynamics CRM ConsultantCommented:
Change the event to OnKeyPress/OnKeyUp and check

~ Mrugesh
0
 
ProculopsisCommented:

>>>I am getting alert with value 0 when I press space again I got 1. Why is the first time I am getting the length of textbox as zero.

It's because in this event handler the effect of the key press has not yet been applied to the input field.


0
 
KaranGuptaAuthor Commented:
Hi rikin_shah:

I can't use on key up. The main reason is I am implementing character count thing in JavaScript so if I move my code to onkeyup and press the key without pressing up then it will not count character.

Proculopsis:

What is the solution for that
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
Gurvinder Pal SinghCommented:
use onkeypress event. It will be triggered after the text is entered in the textbox.

0
 
ProculopsisCommented:

Try something like this if you want a count/limit:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_26908183.html</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

jQuery(document).ready( function() {

  $("#text").keyup( function() {
    var maximumLength = 9;
    if ( $(this).val().length > maximumLength ) $(this).val( $(this).val().substring( 0, maximumLength ) );
    $("#count").text( $(this).val().length );
  });
 
});

</script>
</head>
<body>

<input id="text" />

Count: <span id="count">0</span>/9

</body>
</html>

Open in new window

0
 
BadotzCommented:
>>if I move my code to onkeyup and press the key without pressing up then it will not count character.

onkeyup is the event that fires when you release a key. It does not mean the event that fires when you press the up (arrow) key.
0
 
Rikin ShahMicrosoft Dynamics CRM ConsultantCommented:
I hope this is what you're looking for...
http://www.smartwebby.com/dhtml/textbox_characters_counter.asp
0
 
timhighamCommented:
for each element have and invisible notification div EG

<div id="inputXerror">ERROR</div>

use javascript to check the whole form for 'onsubmit', making error div visible and returning false if there is an unacceptable input to prevent submission.

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now