sharad harpanahalli
sharad harpanahalli

Reputation: 35

Code which give me error message but not clearing the error message after entering field


Code which give me error message but not clearing the error message after entering field :

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;
 }

Upvotes: 0

Views: 89

Answers (4)

Suyog
Suyog

Reputation: 2482

Try like this

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;
 }

Upvotes: 0

Man Programmer
Man Programmer

Reputation: 5356

Optimized way

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;
 }

Upvotes: 1

Nishanth Matha
Nishanth Matha

Reputation: 6081

Just add an empty message in your main function. Then call a keyup function to call your main function. try something like:

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);

Upvotes: 1

Rohit Kumar
Rohit Kumar

Reputation: 1958

First of all fix the codes here

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

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

     else
         return true;
 }

And for the problem you are facing

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 = "";
     }
 }  

Upvotes: 0

Related Questions