| hooray | May 23rd, 2008 8:19 pm | |
| Javascript change text box fields Hi guys,
I am trying to make a javascript function that will add "000" to the end of a textbox value if the user presses k and also add "000000" if they press m. So i don't want the k or m to appear in the textbox and some 0's to appear instead. If anyone could help me out with some code id be very grateful.
Thanks everyone :)
This is where I am at now (Ive done the easy bit, cant find out about detecting if k or m is pressed)
function addZero(x) {
if//I dont know how to find out if it is a k or m
{
x.value += 000;
}
} |
| ~s.o.s~ | May 24th, 2008 3:22 pm | |
| Re: Javascript change text box fields A simple script like this should do the job. Do keep it mind that it can be made better in a lot of ways but for your purpose it should serve well enough:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv"Script-Content-Type" content="text/javascript">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Expires" content="0"> <!-- disable caching -->
<title>Example</title>
<script type="text/javascript">
function handleAutoAppend(e) {
// A mapping which maintains a list of what needs to be appended for
// which key pressed by the user.
var mappings = {k : "000", m: "000000"};
// Process the event triggered by the user and grab hold of the element
// on which it was triggered along with the pressed keys' value
e = e || window.event;
var code = e.which || e.keyCode;
var key = String.fromCharCode(code);
var elem = e.srcElement || e.target;
// For each 'value' of our interest, append the requisite string at the
// end of the existing text and return(false) so as not the render 'k'
// or 'm'
for(var k in mappings) {
if(key == k) {
var val = mappings[k];
if(elem) {
elem.value = elem.value + val;
return(false);
}
}
}
// For all other keys, don't do anything; allow the default behavior
// to take over.
return(true);
}
</script>
</head>
<body>
<form id="frm" name="frm" action="#">
<p>Enter something:</p>
<input type="text" name="txt" id="txt" onkeypress="return handleAutoAppend(event);">
</form>
</body>
</html> |
| hooray | Jul 10th, 2008 1:33 pm | |
| Re: Javascript change text box fields sorry for the late reply, but this worked perfectly. Thanks :) |
| All times are GMT -4. The time now is 5:54 pm. | |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC