我使用的是Dhtmlx UI库。在他们的网格组件中,你可以使用'OnEdit‘方法动态检查输入。该方法提供以下参数: rowid、colid、newval、oldval。
大多数情况下,我可以使用OnEdit方法来验证或使输入的信息无效,这取决于所调用的列以及新的和旧的信息。因此,我的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个测试”之前等待结果。
发布于 2018-09-27 23:57:51
我认为您必须在ajax中设置async: false,option.That将一直等到从服务器接收响应。
https://stackoverflow.com/questions/52540759
复制相似问题