使用较新版本的Gyroscope替换核心文件后,使用reloadtab添加新记录会引发JavaScript警报错误"密钥更改不完整"。虽然详细视图的加载已中止,但仍会创建记录。
在clients.js中:
reloadtab('client_new', null, oclientname.value,
'addclient¶ms='+params.join('&'));
在icl / addclient.inc.php中:
header('newrecid:'.$clientid);
header('newkey:client_'.$clientid);
答案 0 :(得分:0)
从6.7开始,代码生成器具有以下行:
header('newparams:showclient&clientid='.$clientid);
这是支持“标签刷新”功能所必需的。双击任何活动选项卡将重新加载当前选项卡。在移动设备上,每个标签视图顶部都有一个“刷新视图”按钮。
默认情况下,当使用“addtab”打开选项卡时,该选项卡会记住“它是如何打开的”。刷新选项卡只需重放命令。
addtab('client_123', 'Client Name', 'showclient&clientid=123');
在上面的示例中,“showclient& clientid = 123”在刷新期间重复使用。
reloadtab函数主动忽略重放参数,因为该函数通常与更新数据库相关联。例如,更新或创建记录。
在到达icl / addclient.inc.php之前,前端会调用两个标签函数:
addtab('client_new','New Client','newclient');
reloadtab('client_new',null,'addclient&...');
创建记录后,如果自动增量ID为124,则tab键将升级为client_124。这是键更改,在3.2中引入为< em> rekey 选项。新标签内容实际上与showclient&amp; clientid = 124相同。但它没有注册重播参数。双击选项卡将重播“newclient”,重新打开,错误地记录表单。
为防止出现此错误,tabs.js会主动检查“newkey”标题并确保还提供“newparams”。
同样在过去,在发送服务器请求之前,标签标题在reloadtab中单独设置。现在参数可以是一个空字符串,服务器端的“newtitle”标题将更新新的标签名称。