Javascript will only fire when the text field looses focus and has changed.
If you want to watch the text field interactively, you need to capture the OnKeyDown and OnKeyUp events. Then you can insure that only numbers (or specific characters) are enetered into the field.
Mike,
On 4/30/2014 10:26 AM, Paul wrote:
--
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; " /><title>Subscribe Page</title><script type="text/javascript">
function validate() {var number = document.getElementById("number").valuevar carrier = document.getElementById("carrier").value
myResult = number + " " + carrier;document.getElementById("txtDebug").innerHTML (myResult);
var regXTele = /^[0-9]{10}$/;if (regXTele.test (number))window.alert ("The number is not a US Telephone Number");
var myResult = "";if (number==""){window.alert("please enter phone number, it should be 10 numbers long")return false;}else{
// if you want to send myResult to the server,// set the value of a hidden field to myResult// document.getElementById("hiddenfield").value = myResult;document.getElementById("hiddenField").value = myResult;return true;}}</script></head>
<body><div id="txtDebug"><form action="formsendscript.php" method="post" id="subscribeForm" onsubmit="return validateForm();">Phone number:<input name="number" type="text"/><select onchange="validate(number)" id="carrier"><option id="verizon" value="@vtext.com">verizon</option><option id="att" value="@txt.att.net">att</option></select>
<input type="submit" value="submit"/></form></div><div><input name="hiddenField" id="hiddenField" type="hidden" value=""/></div></body></html>
I tested it by typing in just the letter "s" but the regular expression did not catch my test. Is the value not being send to the JS variable and then the function or am i missing something else?
On Tuesday, April 8, 2014 11:10:55 PM UTC-4, ENetArch wrote:
Paul,
OnChange is only called when field looses focus. If you want to watch the text as it is type into the field, use onKeyDown / onKeyUp.
Also, look for a regx script that will validate the number style you are expecting. If the regx can't match the number, then fire your alert.
The validate function expects two arguments, which cannot be passed to it.
Instead of using string.concat (string), use string = string + string; It us much cleaner.
Instead of using document.write, create a div, id="txtDebug" and use
.innerHTML (myresult);
document.getElementById("txtDebug")
These are some suggestions that I can see of the top of my head that will clean up your code.
Good luck.
On 4/8/2014 11:10 AM, Paul wrote:
--
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" ><html xmlns="http://www.w3.org/1999/xhtml" ><head><meta http-equiv="Content-Type" content="text/html; " /><title>Subscribe Page</title><script type="text/javascript"> function validate(number,carrier) {var number = document.getElementById("number").value var carrier = document.getElementById("carrier").value if (number=="") {alert("please enter phone number, it should be 10 numbers long")return false;}else function join(number,carrier) {return number + carrier;return true;}var myresult = number.concat("carrier");document.write("myresult");return myresult;}</script></head>
<body>
<form action="" method="post" id="subscribeForm" >Phone number:<input name="number" type="text" /><select onchange="validate(number)" id="carrier"></select>
<input type="submit" onclick="formsendscript.php" /></form></body></html>
You received this message because you are subscribed to the Google Groups "JavaScript Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to javascript-information+unsubscribe@googlegroups.com .
For more options, visit https://groups.google.com/d/optout .
--
You received this message because you are subscribed to the Google Groups "JavaScript Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to javascript-information+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.