我正在使用Dhtmlx UI库。在其网格组件中,您可以使用“ OnEdit”方法即时检查输入。该方法提供以下参数:rowid,colid,newval,oldval。
大多数时候,我会使用OnEdit方法来验证或否定输入的信息,具体取决于调用哪个col以及newval和oldval信息。所以通常我的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项测试”的情况下等待结果。
答案 0 :(得分:-1)
我认为您必须在ajax选项中设置async:false。这将等待接收响应 来自服务器。