Вообщем есть переменная var a, её значение мы вводим из формы. Надо проверить её тип и границы. Тип целое, границы от 1 до 10000 (например) - используем переменную в вычислениях, в остальных случаях выдаём алерты: - Ведите целое значение (при вводе дробного) - Ведите положительное значение >0 (при вводе отрицательного или 0) - Ведите целое число (при вводе символов, в место цифр) как реализовать? ЗЫ На сколько мне известно javascript не поддерживает никаких методов и свойств для определения типа текущего значения переменной... Если можно, то вообще запретить в поле ввода писать, что-то кроме цифр! (ну а границы я уж проверю).
Юзай регулярные выражения Code: <html> <head> <script> <!-- function Go_Tour(){ res=/^(-?)(\d*)$/.test(document.MyForm.Enter.value); if (res==false) { res=/^(\d*).(\d*)$/.test(document.MyForm.Enter.value); if (res==true) {alert("Введите целое значение!")} if (res==false) {alert("Введите целое число!")} } if (document.MyForm.Enter.value<0) alert("Введите положытельное число!"); } //--> </script> </head> <body> <form name="MyForm"> <table cellpadding=5 cellspacing=0 border=0 bgcolor="#CAD8EA"> <tr> <td colspan=2> Число: </td> </tr> <tr> <td> <input name=Enter type=text size=20> </td> <td> <input type="button" Value=">>" onClick="Go_Tour();"> </td> </tr> </table> </form> </body> </html>
Вообщем сделал проверку, осталась трабла с очисткой формы, после неверного значения, воспользовался location.replace("эта же страница"), но в этом случае видно как мигают расчётные значения для колличества 1, как избежать этой траблы? Карочь я так понял, надо завершить выполнение скрипта, после неверного значения?! А то он успевает прощитать, пока обновиться страница...
-=lebed=- он у тя если даж введена буква какие то вычисления делает, сделай чтоб просчитывало если тока прошло проверку и сделай как сказал invlose , перезагружать странциу тока из за этого не стоит вот
PHP: else {alert("Вы должны ввести целое число в диапазоне от " + "1" + " до " + "100000" + " !") document.forms.calculator.lists.value='1'; document.forms.calculator.lists.focus(); return } Угу! Спасиб, прокатило...
Только как быть теперь с очисткой полей от предыдущих значений (выходных), а именно dolp1, dolp, price_rub ? Хотелось бы, чтоб после неправильного ввода они были чистые...
Нет, не чисто: введи сначала правильное значение, расчитай, а потом введи неправильное - в выходных полях (куда выводятся расчётные суммы) остаются значения от старого расчёта... зы наверно надо их сделать пустыми...
Угу сделал: PHP: document.calculator.dolp1.value="" document.calculator.dolp.value="" document.calculator.price_rub.value="" Всё пашет ок!