|
|
|
| Здравствуйте!
у меня форма где есть поле songlenth1
if (theForm.songlenth1.value != /([0-9]$)/)
{
alert("Тут должны быть только цифры!");
theForm.songlenth1.focus();
return (false);
}
|
в форме даже если ввести цифры все равно выскакивает alert! | |
|
|
|
|
|
|
|
для: ronin
(06.12.2007 в 14:03)
| | VALUE текстового поля - это его значение КАК ЕСТЬ
Вы сравниваете значение VALUE с какой-то непонятной бякой.
Разумеется, условие ВСЕГДА даст ответ true (если только вы в текстовом поле не пропишете в точности вашу бяку, коя справа в условном операторе).
Если вы полагаете, что написанная бяка - это есть регулярное выражение, то вы ошибаетесь.
Регулярные выражения В ЛЮБОМ ЯЗЫКЕ программирования оформляются соответствующим образом и используются ТОЛЬКО в соответствующих методах, а не там, где вам вздумается.
В данном случае, во-первых, проще использовать мнимый символ \d вместо [0-9].
Во-вторых, необходимо использовать какой-либо из методов. Например, replace
if (theForm.songlenth1.value.replace (/\d/g, '').length)
|
| |
|
|
|
|
|
|
|
для: ronin
(06.12.2007 в 14:03)
| |
if (!theForm.songlenth1.value.match(/^\d+$/))
|
| |
|
|
|
|
|
|
|
для: bronenos
(06.12.2007 в 14:19)
| | спасибо за помощь!
bronenos - работает.
CNT че то не получается. | |
|
|
|
|
|
|
|
для: ronin
(06.12.2007 в 15:44)
| | Если у вас это одно поле, то просто запретить ввод не цифровых значений. | |
|
|
|
|
|
|
|
для: ronin
(06.12.2007 в 15:44)
| | >че то не получается.
А что именно не получается-то?
Скопировать как есть прямо отсюда (именно скопировать, а не пытаться корявыми ручонками воиспроизвести похоже) и заменить скопированным написанную вами бяку не получается? | |
|
|
|
|
|
|
|
для: CNT
(06.12.2007 в 17:17)
| | все понял: тот вариант который предложил bronenos - работает, а тот что CNT работает, если в поле поместить БЯКУ, а не цифру. Если поле пустое, т.е. без бяки и цифр, то функция проверки не срабатывает. | |
|
|
|