How do I control textbox input for every keypress in ASP.NET

A

Anonieko

Are there any javascript codes there?Answer: Yes

On the PageLoad event call InitialClientControsl as follows



/// <summary>
/// This will add client-side event handlers for most of the
form controls so
/// that proper behaviors will happend ( uppercase entry,
running total,etc.).
/// This will also register the call to client script to compute
the total.
/// </summary>
private void InitializeClientControlsHandlers()
{
txbName.Attributes.Add("onkeypress", "return
InputUpperCaseOnly(event)" );

txbExpiryDateMM.Attributes.Add("onkeypress", "return
InputNumberOnly(event)" );
txbExpiryDateMM.Attributes.Add("onfocusout",
"TwoDigits(this)" );
txbExpiryDateMM.Attributes.Add("onkeyup",
"JumpIfFilledUp(event, this,
document.getElementById('txbExpiryDateYY'), 2 )" );

txbExpiryDateYY.Attributes.Add("onkeypress", "return
InputNumberOnly(event)" );
txbExpiryDateYY.Attributes.Add("onfocusout",
"TwoDigits( this)" );
txbExpiryDateYY.Attributes.Add("onkeyup",
"JumpIfFilledUp( event, this, document.getElementById('txbOrder00'),
2 )" );

txbCardNumber.Attributes.Add("onkeypress", "return
InputNumberOnly(event)" );

foreach(TextBox ctrl in amountControls)
{
ctrl.Attributes.Add("onkeyup","getTotalAmount()");
ctrl.Attributes.Add("onchange","getTotalAmount()");
ctrl.Attributes.Add("onkeypress","return
InputNumberOnly(event)");
}

foreach(TextBox ctrl in orderControls)
{
ctrl.Attributes.Add("onkeypress","return
InputUpperCaseNoSpaceOnly(event)");
}

rbtnCredit.Attributes.Add("onclick", @"if (! confirm('You
have selected a CREDIT RETURN transaction.\r\n \r\n Press OK BUTTON
if this correct.') )
document.getElementById('rbtnAuthorize').click();");

Page.RegisterClientScriptBlock("getTotalAmount",
CommonUtil.EnclosedJavascript(
" function getTotalAmount() "
," { "
," var t = 0.0; "
," var i = 0; "
," for (i = 0; i < " + MAX_ITEMS + " ; i++) "
," { "
," var sf = \"txbAmount\" + formatNumber(i,
\"00\");"
," var t1 = document.getElementById( sf); "
," if ( t1 != null ) "
," { var v1 = t1.value; "
," var val = parseFloat(v1);"
," if ( !isNaN( val ) ) t += val; "
," } "
," } "
," d = document.getElementById(\"total\"); "
," d.innerHTML = \"Total Amount :&nbsp;&nbsp;\" +
formatNumber(t, \"$#,##0.00\"); "
," } "
," function TwoDigits(x) "
," { if (x.value.length > 0 ) {"
," var y = '0' + x.value;"
," x.value = y.substr( y.length-2) ; "
,"} }"

));

Page.RegisterStartupScript("PreComputeTotal",
"<script>getTotalAmount();" +
"document.getElementById( \"" + txbName.ClientID +
"\").focus(); " +
"document.getElementById( \"" + txbName.ClientID +
"\").select();</script>");
}



hre are some js script used


// Original JavaScript code by Duncan Crombie: (e-mail address removed)

// CONSTANTS
var separator = ","; // use comma as 000's separator
var decpoint = "."; // use period as decimal point
var percent = "%";
var currency = "$"; // use dollar sign for currency

function formatNumber(number, format, print) { // use:
formatNumber(number, "format")
if (print) document.write("formatNumber(" + number + ", \"" +
format + "\")<br>");

if (number - 0 != number) return null; // if number is NaN
return null
var useSeparator = format.indexOf(separator) != -1; // use
separators in number
var usePercent = format.indexOf(percent) != -1; // convert
output to percentage
var useCurrency = format.indexOf(currency) != -1; // use
currency format
var isNegative = (number < 0);
number = Math.abs (number);
if (usePercent) number *= 100;
format = strip(format, separator + percent + currency); //
remove key characters
number = "" + number; // convert number input to string

// split input value into LHS and RHS using decpoint as divider
var dec = number.indexOf(decpoint) != -1;
var nleftEnd = (dec) ? number.substring(0, number.indexOf(".")) :
number;
var nrightEnd = (dec) ? number.substring(number.indexOf(".") +
1) : "";

// split format string into LHS and RHS using decpoint as
divider
dec = format.indexOf(decpoint) != -1;
var sleftEnd = (dec) ? format.substring(0, format.indexOf(".")) :
format;
var srightEnd = (dec) ? format.substring(format.indexOf(".") +
1) : "";

// adjust decimal places by cropping or adding zeros to LHS of
number
if (srightEnd.length < nrightEnd.length) {
var nextChar = nrightEnd.charAt(srightEnd.length) - 0;
nrightEnd = nrightEnd.substring(0, srightEnd.length);
if (nextChar >= 5) nrightEnd = "" + ((nrightEnd - 0) + 1); //
round up

// patch provided by Patti Marcoux 1999/08/06
while (srightEnd.length > nrightEnd.length) {
nrightEnd = "0" + nrightEnd;
}

if (srightEnd.length < nrightEnd.length) {
nrightEnd = nrightEnd.substring(1);
nleftEnd = (nleftEnd - 0) + 1;
}
} else {
for (var i=nrightEnd.length; srightEnd.length >
nrightEnd.length; i++) {
if (srightEnd.charAt(i) == "0") nrightEnd += "0"; // append
zero to RHS of number
else break;
}
}

// adjust leading zeros
sleftEnd = strip(sleftEnd, "#"); // remove hashes from LHS of
format
while (sleftEnd.length > nleftEnd.length) {
nleftEnd = "0" + nleftEnd; // prepend zero to LHS of number
}

if (useSeparator) nleftEnd = separate(nleftEnd, separator); //
add separator
var output = nleftEnd + ((nrightEnd != "") ? "." + nrightEnd :
""); // combine parts
output = ((useCurrency) ? currency : "") + output +
((usePercent) ? percent : "");
if (isNegative) {
// patch suggested by Tom Denn 25/4/2001
output = (useCurrency) ? "(" + output + ")" : "-" + output;
}
return output;
}

function strip(input, chars) { // strip all characters in 'chars'
from input
var output = ""; // initialise output string
for (var i=0; i < input.length; i++)
if (chars.indexOf(input.charAt(i)) == -1)
output += input.charAt(i);
return output;
}

function separate(input, separator) { // format input using
'separator' to mark 000's
input = "" + input;
var output = ""; // initialise output string
for (var i=0; i < input.length; i++) {
if (i != 0 && (input.length - i) % 3 == 0) output += separator;
output += input.charAt(i);
}
return output;
}

// input filtering function


// copyright 1999 Idocs, Inc. http://www.idocs.com
// Distribute this script freely but keep this notice in place
function letternumber(e)
{
var key;
var keychar;

if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();

// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;

// alphas and numbers
else if ((("abcdefghijklmnopqrstuvwxyz0123456789").indexOf(keychar)
return true;
else
return false;
}

function InputNumberOnly(e)
{
var key;
var keychar;

if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();

// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;

// alphas and numbers
else if ((("0123456789.").indexOf(keychar) > -1))
return true;
else
return false;
}


function InputUpperCaseOnly(e)
{
var key;
var keychar;

if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;

keychar = String.fromCharCode(key);
keychar = keychar.toUpperCase();

// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;

if (window.event)
window.event.keyCode = keychar.charCodeAt(0);
else if (e)
e.which = keychar.charCodeAt(0);

return true;
}

function InputUpperCaseNoSpaceOnly(e)
{
var key;
var keychar;

if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;

keychar = String.fromCharCode(key);
keychar = keychar.toUpperCase();

// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;


if (((" ").indexOf(keychar) > -1))
return false;


if (window.event)
window.event.keyCode = keychar.charCodeAt(0);
else if (e)
e.which = keychar.charCodeAt(0);

return true;
}



function JumpIfFilledUp(e, obj1, obj2, len)
{
var key;
var keychar;

if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();

// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
{
return true;
}

// alphas and numbers
// else if ((("0123456789.").indexOf(keychar) > -1))
//{
else if ( obj1.value.length == len )
{
obj2.focus();
obj2.select();

}

return true;
//}
//else
// return false;




}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,535
Members
45,008
Latest member
obedient dusk

Latest Threads

Top