Home > Net >  how to redirect to another page when a certain condition is true using javascript
how to redirect to another page when a certain condition is true using javascript

Time:12-22

I'm a newbie at javascript and I'm currently stuck on this problem. I need to redirect to another page based on the number of certain moves. for example: if the number of moves after you find all the pairs are between 4 - 8, you will be redirected to page 1 to see your result, 10 - 16 is on page 2 and so on, but my code regarding of result still goes to page 1. Here is my js code:

 function validate() {
  var clickHere = document.getElementById("terms");
  if(clickHere.checked){
    if(counterVal >= 4 || counterVal <=8){
      location.replace("https://www.w3schools.com/js/")
    }
    else{
      location.replace("https://javascript.info/")
    }
  }else{
    
    alertify.error('Click the checkbox first.')
  }

Ive been trying different method to solve this problem but no luck. Thank you for helping.

CodePudding user response:

The simplest way to use JavaScript to redirect to a URL is to set the location property to a new URL using window.location.href. The JavaScript code looks like this: window.location.href = ‘https://ExampleURL.com/’; it is a property that tells you what URL is currently being viewed. Setting a new value, you are telling the browser to load that new URL, similar to what would happen if a user clicked a link. You function should look like this:

function validate() {
  var clickHere = document.getElementById("terms");
  if(clickHere.checked){
    if(counterVal >= 4 || counterVal <=8){
      window.location.href = "https://www.w3schools.com/js/"
    }
    else{
      window.location.href ="https://javascript.info/"
    }
  }else{
    
    alertify.error('Click the checkbox first.')
  }

CodePudding user response:

From your question, you have mention for example: if the number of moves after you find all the pairs are between 4 - 8, you will be redirected to page 1 to see your result, 10 - 16 is on page 2 and so on, but my code regarding of result still goes to page 1

As you mentioned the countVal is in between 4 to 8, then it will for this link https://www.w3schools.com/js/

But in this, if the condition you have mentioned as counterVal <=4. The condition will be true if the countVal is more then 8, that is the problem.

if(counterVal >= 4 || counterVal <=8){

You need to rewrite it like this

if(counterVal >= 4 && counterVal <=8){

I hope this would be useful.

CodePudding user response:

The code need to be

if(counterVal >= 4 && counterVal <=8){
   window.location.href = "https://www.w3schools.com/js/1"
}else if(counterVal >= 10 && counterVal <=16){
   window.location.href = "https://www.w3schools.com/js/2"
}else{
  location.replace("https://javascript.info/")
}
  • Related