Я использую библиотеку Dhtmlx UI.В их компоненте сетки вы можете проверить входные данные, используя метод OnEdit.Метод предоставляет следующие параметры: rowid, colid, newval, oldval.
Большую часть времени я в порядке, используя метод OnEdit для проверки или ввода неверной информации, в зависимости от того, какой col вызывается, а также newval иОлдваль инфо.Поэтому обычно мой метод OnEdit будет выглядеть примерно так:
function OnEdit(rowid,colid,newval,oldval)
{
if first test fails return false;
if second test fails return false;
etc.
return true;
}
Возвращение false сбрасывает значение поля в oldval.
Однако для одного конкретного случая мне нужно вернуться на сервер и проверитьпо значению.Если значение отличается от того, что я храню локально, тогда мне нужно вернуть false.Итак, мой пересмотренный метод выглядит следующим образом:
function OnEdit(rowid,colid,newval,oldval)
{
if first test fails return false;
if second test fails return false;
//third test
Fetch data from server via async ajax and if different to currval then
return false.
......
if nth test fails return false;
etc.
return true;
}
Конечно, к моменту, когда третий тест выполняется и завершается, система достигает конца тестов и возвращает true.
Мне нужнознаете, как мне настроить третий тест, чтобы система ожидала результата, прежде чем перейти к «n-му тесту».