onblur 失败时不应触发 onclick
Onclick should not fire when onblur fails
我有一个包含多个行和列的 HTML table。
我有帐单编号、帐单日期、说明、金额等列。
在 Bill date 列中,我定义了 onclick 和 onblur 事件。
onclick - 显示一个日历,用户可以选择一个日期。
onblur - 将验证日期是否在一段时间内等等。
现在,让我们假设有 4 行。
我单击第 4 行的日期列。出现日历。我select约会。
现在,我单击第 3 行的日期列。出现日历。同时第 4 行的 onblur 执行和 returns 一条错误消息。现在我的系统变得混乱了。我想在第 4 行验证失败时,第 3 行的 onclick 不应触发,我的光标本身仍应位于第 4 行。
可以吗,还是我问的太多了?任何帮助将不胜感激。
谢谢
一种可能是您保留一个全局变量作为标志,并使用它的值来跟踪您输入的状态。
见下文:
var bInEditMode = false;
function onclickevent() {
if ( bInEditMode ) return;
bInEditMode = true;
// TODO: call your calendar code
}
function onblurevent() {
// TODO: call your testing code
bInEditMode = false;
}
我有一个包含多个行和列的 HTML table。 我有帐单编号、帐单日期、说明、金额等列。 在 Bill date 列中,我定义了 onclick 和 onblur 事件。 onclick - 显示一个日历,用户可以选择一个日期。 onblur - 将验证日期是否在一段时间内等等。
现在,让我们假设有 4 行。 我单击第 4 行的日期列。出现日历。我select约会。 现在,我单击第 3 行的日期列。出现日历。同时第 4 行的 onblur 执行和 returns 一条错误消息。现在我的系统变得混乱了。我想在第 4 行验证失败时,第 3 行的 onclick 不应触发,我的光标本身仍应位于第 4 行。
可以吗,还是我问的太多了?任何帮助将不胜感激。 谢谢
一种可能是您保留一个全局变量作为标志,并使用它的值来跟踪您输入的状态。
见下文:
var bInEditMode = false;
function onclickevent() {
if ( bInEditMode ) return;
bInEditMode = true;
// TODO: call your calendar code
}
function onblurevent() {
// TODO: call your testing code
bInEditMode = false;
}