【问题标题】:How to give alert message after all form validation is complete?所有表单验证完成后如何发出警报消息?
【发布时间】:2020-11-27 11:07:21
【问题描述】:

点击我的表单的提交按钮后,函数 formvalidtion() 将从下面的 javascript 文件中执行。

function formValidation() {
    var fname = document.getElementById('firstName').value;
    var lname = document.getElementById('lastName').value;
    var pnumber = document.getElementById('phoneNumber').value;
    var email = document.getElementById('e-mail').value;

    return FirstName(fname) && LastName(lname) && PhoneNumber(pnumber) && Email(email) && thankyou();
  return false;
}

个人验证示例。

function FirstName(fname) {
  var message = document.getElementsByClassName("error-message");
  var letters = /^[A-Za-z]+$/;
  if ( fname =="" || fname.match(letters)) {
    text="";
    message[0].innerHTML = text;
    return true;
  }
  
  else {
    text="First name should contain only letters";
    message[0].innerHTML = text;
    return false;
  }
}

正如函数 formvalidtion() 中所述,我引用了下面的函数thankyou()。

function thankyou() {
    if (formValidation() === true){
        alert("Thank you for subscribing!");
    }
}

其余的验证功能不是这样工作的,确认警报没有出现。蒂亚!

【问题讨论】:

    标签: javascript html forms validation alert


    【解决方案1】:

    通过允许两个函数调用自己(formValidation 和thankYou),您将函数发送到没有基本情况的递归模式。您可以通过删除thankYou 函数中的条件来解决此问题

    function thankyou() {
        alert("Thank you for subscribing!");
    }
    

    【讨论】:

    • 无论表单是否已完成,此解决方案都会显示警报,即空表单仍会发出警报,我只希望表单正确完成后出现此警报。
    • 你测试了吗?只有在所有验证成功运行时才会发出警报
    • 是的,运行成功唯一的错误是如果表单为空并且您提交它会发出警报。
    • 那么问题出在您的验证逻辑上。例如,在您的 Fname 逻辑中,我可以看到对于空字符串,您返回 true
    • 愚蠢的我没有占空字段,谢谢凯文保佑你的伙伴!
    猜你喜欢
    • 2021-09-07
    • 2023-03-29
    • 2014-05-27
    • 1970-01-01
    • 2020-05-02
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多