javascript - isNumeric not testing all form fields -


im trying create form takes 3 values, name, weight , height. want force user enter numbers , not letters, using isnumeric works weight, not height.

this current code

<script type='text/javascript'> function isnumeric(elem, helpermsg){     var numericexpression = /^[0-9]+$/;     if(elem.value.match(numericexpression)){         return true;     }else{         alert(helpermsg);         elem.focus();         return false;     } } </script>         <form name="input" action="calc.html" method="get">         name: <input type="text" id="firstname"     maxlength="20"><br>         weight(kg): <input type="text" id="weight"><br>         height(cm): <input type="text" id="height"><br> <input type='button'     onclick="isnumeric(document.getelementbyid('weight'), 'numbers please')"     value='check field' /> </form> 

i tried several things in order incorporate height field such ('weight')('height') or ('weight'&&'height') , writing whole line twice height instead.

any in solving welcome.

if must way, try instead.

<script type='text/javascript'> function isnumeric(elem, helpermsg){     var numericexpression = /^[0-9]+$/;     if(elem.value.match(numericexpression)){         return true;     }else{         alert(helpermsg);         elem.focus();         return false;     } } </script>         <form name="input" action="calc.html" method="get">         name: <input type="text" id="firstname"     maxlength="20"><br>         weight(kg): <input type="text" id="weight"><br>         height(cm): <input type="text" id="height"><br> <input type='button'     onclick="isnumeric(document.getelementbyid('weight'), 'numbers please') && isnumeric(document.getelementbyid('height'), 'numbers please')"     value='check field' /> </form> 

sidenote: inline javascript never idea, makes harder maintain code. if you, rewrite code this:

<script type='text/javascript'> window.onload = function() {      document.getelementbyid("click-button").onclick = function() {         return isnumeric(document.getelementbyid('weight'), 'numbers please') && isnumeric(document.getelementbyid('height'), 'numbers please');     }      function isnumeric(elem, helpermsg) {         var numericexpression = /^[0-9]+$/;         if (elem.value.match(numericexpression)) {             return true;         } else {             alert(helpermsg);             elem.focus();             return false;         }     } };  </script>         <form name="input" action="calc.html" method="get">         name: <input type="text" id="firstname"     maxlength="20"><br>         weight(kg): <input type="text" id="weight"><br>         height(cm): <input type="text" id="height"><br> <input id="click-button" type='button'     value='check field' /> </form> 

Comments