Hallo! I expect this programme to see entrance of numerals. But it does not work. <script type='text/javascript'> function isNumeric(elem, helperMsg){ var num_error='Numbers Only Please!'; var numericExpression = /^[0-9]+$/; if(numericExpression.test(document.getElementById(elem).value)){ return true; }else{ document.getElementById(helperMsg).innerHTML=num_error; return false; } } </script> <span id="err_msg" style="color: red;"></span> <form method="post" onSubmit="return isNumeric('numbers', 'Numbers Only Please');"> Numbers Only: <input type='text' id='numbers'/> <input type='submit' name="submit" value='Check Field' /> </form> Where the mistake is?
should be "err_msg" Don't hard-code element IDs into functions - write functions so that they can be re-used with any form/element: <script type='text/javascript'> function isNumeric(elem, msgID, helperMsg) { var numericExpression = /^[0-9]+$/, result; if( !(result=numericExpression.test( elem.value)) ) document.getElementById(msgID).innerHTML = helperMsg; return result; } </script> <span id="err_msg" style="color: red;"></span> <form method="post" onsubmit="return isNumeric(this.numbers, 'err_msg', 'Numbers Only Please');"> Numbers Only: <input type='text' name='numbers'/> <input type='submit' name="fsubmit" value='Check Field' /> </form> Code (markup):