在页面卸载期间,Dojo/dijit表单字段被标记为无效

Dojo/dijit form field marked as invalid during page unload

本文关键字:字段 表单 dijit 无效 记为 Dojo 卸载      更新时间:2023-09-26

我有一个使用Dojo的注册页面;带有客户端验证的Dijit表单,例如

<input style="width: 220px;" type="email" name="email" id="email" placeholder="your email address" required="true" maxLength="78" dojo-data-id="email" intermediateChanges="true" dojoType="dijit.form.ValidationTextBox" regexp="<?php echo EMAIL_REGEX;?>"></input>

这一切都工作得很好,除了如果用户点击了一个链接而没有触摸表单(即导航离开),输入字段,目前的焦点暂时变成"无效",即得到一个红色!"工具提示

这不是灾难性的,但有点恼人-有什么办法防止它吗?我已经尝试添加一个onUnload事件,但这似乎触发字段被标记为无效后。

我相信这是由于您用required="true"标记字段

如果您仍然希望这些字段是必需的,但不希望这个错误发生,我建议将它们设置为非必需,然后连接到您的dijit表单的onsubmit事件。在这里,我设置了所有必需的字段required=true,然后验证表单。如果表单包含无效字段,则阻止表单提交。