It still gives you an error, because you are submitting the input objects to the validation functions not the input values.
validate_number(area,"wrong area code") should be: validate_number(area.value,"wrong area code")
validate_number(phone,"wrong phone") should be: validate_number(phone.value,"wrong phone")
validate_text(name_surname,"wrong name") should be: validate_text(name_surname.value,"wrong name")
This won't solve your problem completely though. I can't say why but after validating for every character in a string, it will fail after that even with the correct input. Thus if you have a four digit area code it will validate correctly the first four times and fail on the fifth time you click the validate button. I am not sure why but try it and see. I am sure it has to do with the function re.test() and the pattern. Therefore I used function isNaN() instead, which checks whether a string doesn't contain any numbers (returns true) or if it does (returns false). Here is the final code:
Code:<head> <script type='text/javascript'> function validate_text(field,alerttext) { with(field) { //var re = /[a-zA-Z]/g; //if(re.test(field)) if(isNaN(field)) { return true;}else{alert(alerttext);return false;} } } function validate_number(field,alerttext){ with(field) { //var re = /[0-9]/g; //if(re.test(field)) if(!isNaN(field)) { return true;} else{alert(alerttext);return false;} } } function validateForm(thisForm){ with(thisForm) { if(validate_number(area.value,"wrong area code") == false) { area.focus(); return false; } if(validate_number(phone.value,"wrong phone") == false) { phone.focus(); return false; } if(validate_text(name_surname.value,"wrong name") == false) { name_surname.focus(); return false; } } } </script> </head> <body> <form action="" method="post"> <b>Name Surname :</b> <input style="margin-left:10px;" type="text" name="name_surname" /> <br /><br /> <b>phone:</b> <input type="text" style="margin-left:5px;" maxlength="7" size="10" name="phone" /> <b>area:</b> <input type="text" style="margin-left:19px;" maxlength="4" size="4" name="area" /> <br /><br /> <input type="button" value="validate" onclick="javascript:validateForm(this.form);" /> <br /><br /> </form> </body>