Javascript onblur() 在直接单击按钮时不起作用



我得到了一个javascript文本框,它有onblur(),它会调用一个验证函数,所以假设当我从文本框中聚焦时,它将触发onblur()并验证用户输入的数据,然后我单击"提交"按钮,它将处理数据。

有一个错误,当我在文本框中键入某些内容时,我立即单击提交按钮(没有先从文本框中聚焦),所以实际上它不会触发onblur() 和 WONT 验证文本框中的数据,即使数据是错误的,它也会处理数据,因为调用 onblur() 失败。

在这种情况下,如果我不想在按钮中进行任何验证(onclick事件),如何解决此错误。尝试 onchange(),也失败了。

onblur() 函数将调用,如果您仅访问某些文本框。否则,在您提交之前它不会调用。

所以我建议你写一个验证方法,并调用它onsumbit()。

由于您没有添加代码,我只给出建议。(请添加样本小提琴以进行更多调查)

可以使用按钮的焦点事件来验证或聚焦在文本区域之外。

$("button").focus(function() { // validation  
} );
$( "textarea" ).focusout(function() { // validation   
});

虽然最好的方法是提交表格。

最新更新