Javascript 在正确的输入上使用js重新启用提交按钮

Javascript 在正确的输入上使用js重新启用提交按钮,javascript,html,css,button,Javascript,Html,Css,Button,首先,我浏览了所有可能提供的其他解决方案,并用谷歌搜索了这个问题,但这些解决方案要么使用jquery等,要么使用其他技术,我无法在这里解决我的问题,所以请不要将其标记为重复 现在,我面临的问题是,如果用户输入无效,我有一个submit按钮,可以通过javascript禁用它。 我正在使用disabled=true和css属性“指针事件”来禁用所有悬停属性,因为我已经为按钮添加了彩色动画 检查按钮是否应被禁用的javascript函数(shouldSubmit()js函数)是通过事件“onMous

首先,我浏览了所有可能提供的其他解决方案,并用谷歌搜索了这个问题,但这些解决方案要么使用jquery等,要么使用其他技术,我无法在这里解决我的问题,所以请不要将其标记为重复

现在,我面临的问题是,如果用户输入无效,我有一个submit按钮,可以通过javascript禁用它。 我正在使用
disabled=true
和css属性
“指针事件”
来禁用所有悬停属性,因为我已经为按钮添加了彩色动画

检查按钮是否应被禁用的javascript函数(shouldSubmit()js函数)是通过事件“
onMouseOver
”实现的

现在的问题是,如果按钮一旦被禁用,它就会禁用
onMouseOver
操作,因此它不会再次调用
shouldISubmit()
函数,从而永远被禁用

是否有其他方法可以禁用或使用任何其他操作事件调用函数等,以便解决此问题

这是禁用或启用按钮的函数
shouldISubmit()

function shouldISubmit(){
            if(FNF){
                document.getElementById("regButton").disabled=false;
                document.getElementById("regButton").style.pointerEvents='auto';
            }
            else{
                document.getElementById("regButton").disabled=true;
                document.getElementById("regButton").style.pointerEvents='none';
            }
        }
这是我的钮扣

<div class="button container">
    <br/>
    <button class="buttons" name = "register" onMouseOver=shouldISubmit(); id="regButton">
        Register
    </button>
</div>


登记
我没有从按钮本身调用
*shouldSubmit()*
,而是尝试从验证函数调用它,结果成功了。 谢谢大家给了我解决这个问题的方法。
我将此答案发布给未来的观众,他们可能会发现同样的问题,因为我没有找到此类问题的任何其他简单答案。

单击按钮时,只需运行JS函数,验证数据,并决定是否继续执行按钮的默认操作,而不是禁用按钮。这是一个相当标准的方法。此外,如果您尽可能在字段中使用HTML5验证属性,那么您将在用户输入时获得表单的动态验证。您还可以在输入中使用值更改或字段失去焦点的事件来触发即时验证,这将通过在进行验证时而不是在最后进行验证来改善用户体验。@ADyson您能给出一些代码示例吗?就像它是一个注册页面,如果用户输入无效,它不应该允许用户继续。因此,除了禁用按钮,我看不到任何其他东西。另外,是的,我已经进行了动态验证“您能给出一些决定代码的示例吗”…那么您现在如何决定?我在shouldimit函数中看到了
if(FNF){
但我不知道
FNF
来自何处。我猜这是一个表示验证是否通过的值?如果是,那么您只需要运行相同的例程来设置该值,然后在此基础上继续执行按钮应该执行的操作,或者显示error@RamshaKhalid它可能使用asp.net,但答案是不依赖于该框架。“禁用的元素不会触发事件,例如,用户不能悬停或单击它们来触发popover(或工具提示)。但是,您可以使用DIV包装禁用的元素,并侦听在该元素上触发的事件。”与asp.net无关,它可以解决您的问题。