【问题标题】:calling a method if the validation function is true如果验证函数为真,则调用方法
【发布时间】:2021-06-10 17:46:47
【问题描述】:

当提交按钮被按下时,我的验证函数应该检查字段是否被验证然后调用 setProfile 方法。目前,当我单击提交按钮时,它不会验证我的字段,所以一定有问题

       <form name="Login" method="post" action="#" onsubmit="return validateForm()">

        <input type="text" name="fName" id="name"> <br>
        </form>
        <input type="submit" name="Update" value="Update">

        function validateForm() {
        
        var n = document.forms['Login']['fName'].value;
        if(n==null || n=="")
        {
            alert("Please enter your name");
            return false;
        }
        return true
        } 
    function UpdateProfile() {
        document.querySelector('submit').addEventListener('click', e=>{
        const myProfile = new Profile 
        
             if (e.validateForm === true){
             myProfile.setProfile();}
             })
    }

【问题讨论】:

  • 好的,您在此处提供的代码有什么问题...?见How to Ask
  • 所以您告诉我们它应该做什么,但没有说明它实际在做什么,或者它与预期有何不同或发生的任何错误
  • 抱歉,问题是当前的代码不会验证我的字段。我想我可能把 updateProfile 函数弄错了,如果我在表单上直接对我的 validateForm 函数执行 onsubmit 它可以工作,但不能使用 UpdateProfile 函数
  • 您能否更新您的帖子以将所有相关代码包含为minimal reproducible example?您提到您认为您的函数的调用方式存在问题,但这里没有任何代码显示如何您当前已设置该调用部分。

标签: javascript function methods


【解决方案1】:

您的代码不起作用的最可能原因是您的 validateForm() 函数在提交按钮按下时根本没有被调用。要确定是否是这种情况,最简单的做法是在 validateForm() 函数的顶部添加一个 alert()。

如果它确实没有被调用,请谷歌“在按钮单击时调用 javascript 函数”以获取代码示例。这是一个:Using an HTML button to call a JavaScript function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 2018-10-26
    相关资源
    最近更新 更多