Проверка числового поля

  • Автор темы Gor
  • Дата начала
F

fedotxxl

<!--QuoteBegin-Gor+3:12:2007, 15:34 -->
<span class="vbquote">(Gor @ 3:12:2007, 15:34 )</span><!--QuoteEBegin-->Я обратился за помощью потому что я действительно не видел выхода из ситуации кроме как использование Java script функции...
Рассматривал вариант я с PostRecalculate, но на форме 30 полей вводимых с клавиатуры, показалось что будет очень грузновато с ним... на выходе из этого поля и на querysave лотус скриптами варианты тоже не подходят, поэтому только javascript...
[snapback]88090" rel="nofollow" target="_blank[/snapback]​
[/quote]
Метод поля "Exiting" - срабатывает при... э... выходе фокуса из поля (надеюсь понятно). Так что никакой JS здесь не нужен
 
G

Gor

А я говорил что Exiting мне подходит? я знаю что на выходе из поля работает Exiting, и прекрасно знаю что тас ненадо никаких JS Scriptov)) Я же говорю что пытаюсь добить туже саму javascript функцию...

на выходе из этого поля и на querysave лотус скриптами варианты ТОЖЕ НЕ ПОХОДЯТ, поэтому только javascript...

Посты буду развёрнутей тогда писать)

выше я постил код на JS Header, и на событии OnBlur, OnFocus..... в отношения поля CZE... и ошибку которая выходит при перемещении фокуса на поле CZE....

где же тут Exiting........
 
S

Sandr

Обшипка=))

CheckNumFields: Left is not defined

Ой.. голова моя голова...Забыл, что давно написал популярные собачные функции на LSе... Вот примерный код функции Left

function Left(a, b ) {
var c = Split(a, b ) ;
return c[0] ;
}

Функцию писал прямо тут, не исключены ошибки, так как не делал проверки на корректность... Там желательно проверть, не пустая ли a и присутвует ли в ней b и корректно обработать эти ситуации. Но, думаю, что это Вам поможет... :)
 
G

Gor

to Sandr:

Не успел я это сообщение вчера прочитать, решил попробовать переписать функцию немного на свой ла и вроде бы у меня это получилось и заработало=))) Сам был в шоке=))

функция проверки поля на числовое положительное знаение:

Код:
в поле на
On Blur:

lastCount = 0;
if (checkCharCount2())
stopListener2();

On focus:

startListener2(this, 10, document.forms[0].HowManyChars);

JS Header:


///
function startListener2 (field, maxChars, countField) {
listenField = field;
counterField = countField;
maxCount = maxChars;
lastCount = 0;
checkCharCount2();
}

*/
function stopListener2 () {
listenField = null;
counterField = null;
maxCount = 0;
lastCount = 0;
}

*/
function checkCharCount2 () {
var re = /[0-9.]$/; //	var re = /\d$/;
var a = listenField.value.match(re); 
if (!a&& listenField.value.length>0	) {
alert('Поле должно содержать положительное числовое значение!');
//					 alert('listenField.value = "'+ listenField.value + '" listenField.value.length = '+listenField.value.length+a);
listenField.value = "";
};

setTimeout("checkCharCount2()", 5);

Вот так работает=))))!!!!!!!!!!!!!!!!!!!
Правда не знаю корректная она получилась или нет...но вроде бы работает и обошлось без массива=))
Спасибо за терпение и за подсказки=)
Надо сейчас попробовать ещё поднять всё таки функцию с массивом и поменять там Left.
 
S

Sandr

Для: Игорь_OK

Ага.. рулит.. тока не в ту сторону и его часто заносит...
 
G

Guest

Крутая контора по разработке где я работал делала на input validation и все работало зашибись.... :D
 
S

Sandr

Для: Игорь_OK

Некоторые крутые канторы по разработке даже в корпоративнцй стандарт включают пункт, в котором не рекомендуется юзать input validation...

И, видать, Ваша кантора, не все далала на input validation... иначе было бы не зашибись...
 
G

Guest

Например SoftAria..читай книгу Федосеевой...Пусть Лотусистов станет больше
 
M

morpheus

<!--QuoteBegin-Игорь_OK+6:12:2007, 12:06 -->
<span class="vbquote">(Игорь_OK @ 6:12:2007, 12:06 )</span><!--QuoteEBegin-->Пусть Лотусистов станет больше
[snapback]88697" rel="nofollow" target="_blank[/snapback]​
[/quote]
Не надо.. индусов и так много!
Я хочу быть редким спецом
 
G

Guest

Для: Morpheus

Я тебя полностью поддерживаю..так книжка называется...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!