Reputation: 53
I want to check for negative values and if there is change them to its default value.
for (i = 0; i <= 1; i++) {
//I want this to run this statement once and if its true perform all the functions and move to the next one
if (h1 < 0 || h2 < 0) {
alert("negative number is not acceptable here");
document.getElementById("up1").value = document.getElementById("up1").defaultValue;
document.getElementById("q1").value = document.getElementById("q1").defaultValue;
document.getElementById("tot1").value = document.getElementById("tot1").defaultValue;
Total1 = 0.00;
continue;
}
else if (h3 < 0 || h4 < 0) {
alert("No Negative here as well")
document.getElementById("up2").value = document.getElementById("up2").defaultValue;
document.getElementById("q2").value = document.getElementById("q2").defaultValue;
document.getElementById("tot2").value = document.getElementById("tot2").defaultValue;
continue;
}
//I have a let Total1 & Total2 variables at the beggining of the code set to zero
//
Total2 = h3 * h4;
}
Hi guys is there anyway to continue to the next else if statement if the first IF statement evaluates to TRUE and runs all the functions in it. Currently, if the first IF statement evaluates to true it performs all the functions in it and ends the loop. I want it to check each variable for a negative without repeating the code all over again.
Upvotes: 0
Views: 617
Reputation: 331
If you want to run the second block only if the first if block is true:
if (h1 < 0 || h2 < 0) {
/* Your code */
if(h3 < 0 || h4 < 0){
/* rest of your code */
}
}
Upvotes: 1
Reputation: 23798
You just need two linear if statements.
for (i = 0; i <= 1; i++) {
//I want this to run this statement once and if its true perform all the functions and move to the next one
if (h1 < 0 || h2 < 0) {
alert("negative number is not acceptable here");
document.getElementById("up1").value = document.getElementById("up1").defaultValue;
document.getElementById("q1").value = document.getElementById("q1").defaultValue;
document.getElementById("tot1").value = document.getElementById("tot1").defaultValue;
Total1 = 0.00;
}
if (h3 < 0 || h4 < 0) {
alert("No Negative here as well")
document.getElementById("up2").value = document.getElementById("up2").defaultValue;
document.getElementById("q2").value = document.getElementById("q2").defaultValue;
document.getElementById("tot2").value = document.getElementById("tot2").defaultValue;
}
Total2 = h3 * h4;
}
Upvotes: 0
Reputation: 1315
There are two cases for your problem.
First case
isFirstBlockTrue = false
if (h1 < 0 || h2 < 0) {
isFirstBlockTrue = true
/* rest of your code */
}
if(isFirstBlockTrue){
if (h3 < 0 || h4 < 0) {
/* rest of your code */
}
}
/* rest of your code */
Second Case
if (h1 < 0 || h2 < 0) {
/* first block code */
}
if (h3 < 0 || h4 < 0) {
/* second block code */
}
Note: Don't use the continue otherwise it will skip the iteration
Upvotes: 2