输入字段后给我错误消息但不清除错误消息的代码

时间:2015-09-29 05:18:38

标签: javascript html

在输入字段后给我错误消息但未清除错误消息的代码:

var flag = 0;
function otpValidate() {
     otp = oneTimePass.onetimepass.value;
     if(otp == "") {
         document.getElementById('error0').innerHTML = "Enter one time password";
         flag = 1;
     } else if(otp.length != 6) { 
         document.getElementById('error0').innerHTML = "PIN must be 6 digits";
         flag = 1;
     }
 }  
 function check(form) {
     flag = 0;
     otpValidate();
     if (flag == 1)
         return false;
     else
         return true;
 }

4 个答案:

答案 0 :(得分:1)

只需在主要功能中添加空信息即可。然后调用keyup函数调用主函数。尝试类似的事情:

function otpValidate() {
    var otp = oneTimePass.onetimepass.value.trim();
     if(otp == "") {
         document.getElementById('error0').innerHTML = "Enter one time password";
         flag = 1;
     } else if(otp.length != 6) { 
         document.getElementById('error0').innerHTML = "PIN must be 6 digits";
         flag = 1;
     }
     else { 
         document.getElementById('error0').innerHTML = "";
         flag = 0;
     }
 }  

var otp = oneTimePass.onetimepass;
otp.addEventListener("keyup", otpValidate);

答案 1 :(得分:1)

优化方式

function otpValidate() {
     otp = oneTimePass.onetimepass.value.trim();
     document.getElementById('error0').innerHTML = "";
     flag = 0;
     if(!otp) {
         document.getElementById('error0').innerHTML = "Enter one time password";
         flag = 1;
     } else if(otp.length != 6) { 
         document.getElementById('error0').innerHTML = "PIN must be 6 digits";
         flag = 1;
     }
    return flag;
 }  
function check(form) {

     var flag  = otpValidate();
     if (flag == 1)
         return false;
     return true;
 }

答案 2 :(得分:0)

试试这个

var flag = 0;
function otpValidate() {
     otp = oneTimePass.onetimepass.value;
     if(otp == "") {
         document.getElementById('error0').innerHTML = "Enter one time password";
         flag = 1;
     } else if(otp.length != 6) { 
         document.getElementById('error0').innerHTML = "PIN must be 6 digits";
         flag = 1;
     }
     else { 
         document.getElementById('error0').innerHTML = "";
         flag = 0;
     }
 }  
 function check(form) {
     otpValidate();
     if (flag == 1)
         return false;
     else
         return true;
 }

答案 3 :(得分:0)

首先修复这里的代码

function check(form) {
     //flag = 0; This will make no sense to check it

     otpValidate();
     if (flag == 1)
         {
         flag = 0;
         return false;
         }

     else
         return true;
 }

对于你正面临的问题

function otpValidate() {
     otp = oneTimePass.onetimepass.value;
     if(otp == "") {
         document.getElementById('error0').innerHTML = "Enter one time password";
         flag = 1;
     } else if(otp.length != 6) { 
         document.getElementById('error0').innerHTML = "PIN must be 6 digits";
         flag = 1;
     }
     else { 
         document.getElementById('error0').innerHTML = "";
     }
 }