我正在尝试将jQuery validation plugin与tinyMce一起使用,但我遇到了一个小问题。
默认情况下,验证插件具有以下行为:最初每个字段都标记为有效且验证是惰性的,即在用户输入值并离开字段之前不会显示错误。一旦一个字段被标记为无效,它就会得到热切的验证,这意味着每次按键都会进行验证。
我很难模拟TinyMCE字段的这种行为。如果我使用onChange方法,则总是在焦点上完成验证。如果我使用onKeyDown方法,即使用户第一次更改字段,也会对每个键击进行验证。
有没有什么方法可以使用onChange和onKeyDown的组合来模仿jQuery验证插件的默认行为?这是我目前的代码:
function(ed) {
ed.onChange.add(function(ed, e) {
tinyMCE.triggerSave();
jQuery('#'+ed.id).valid();
});
}
如果我没有意义,您可以阅读验证插件的行为here。
提前致谢!
答案 0 :(得分:0)
我认为你必须拥有一个有效的状态变量
像这样的东西
function(ed) {
var validState = true;
ed.onKeyDown.add(function(ed, e) {
if (validState) {
return
}
else {
// check if new content is valid
validState = jQuery('#'+ed.id).valid();
}
}
ed.onChange.add(function(ed, e) {
validState = jQuery('#'+ed.id).valid();
if (validState){
tinyMCE.triggerSave();
}
});
}
注意这只是一些示例代码。我还没有证实这会起作用