Home > Software engineering >  How do I stop the second prompt from appearing until the first if/else condition is satisfied? (Star
How do I stop the second prompt from appearing until the first if/else condition is satisfied? (Star

Time:06-08

If the user name is not entered, the age prompt still comes up, I want the whole prompt to terminate if the user name is not entered, basically, when it says "You cannot proceed without the name" after that the prompt asking for the age still appears, I don't want that to happen.

Here is my code:

</style>

<body>
<h1>Welcome to </h1>
<h2> Hangman </h2>
<div >
  <button onclick="myFunction()">Let's start</button>
</div>

<script>
  function myFunction() {
  let person = prompt("Please enter your name", "Marium");
  if (person == null || person == "") {
  alert("You cannot proceed without entering the name");
  } 
  else {
  alert("Hello "   person);
  }
   
   let age= prompt("Please enter your age"); 
  if (age<16) { 
   alert("User below 16 cannot proceed");
   }
    else {
   window.location.href= "sample.html";
   }
}

CodePudding user response:

You just need to insert a return before the alert in the if statement relative to the missing username case:

function myFunction() {
  let person = prompt("Please enter your name", "Marium");
  if (person == null || person == "") {
    return alert("You cannot proceed without entering the name");
  } else {
    alert("Hello "   person);
  }

  let age = prompt("Please enter your age");
  if (age < 16) {
    alert("User below 16 cannot proceed");
  } else {
    window.location.href = "sample.html";
  }
}
<h1>Welcome to </h1>
<h2> Hangman </h2>
<div >
  <button onclick="myFunction()">Let's start</button>
</div>

CodePudding user response:

Add a return; after

alert("You cannot proceed without entering the name");

Code:

<body>
<h1>Welcome to </h1>
<h2> Hangman </h2>
<div >
  <button onclick="myFunction()">Let's start</button>
</div>

<script>
  function myFunction() {
  let person = prompt("Please enter your name", "Marium");
  if (person == null || person == "") {
  alert("You cannot proceed without entering the name");
  return;
  } 
  else {
  alert("Hello "   person);
  }
   
   let age= prompt("Please enter your age"); 
  if (age<16) { 
   alert("User below 16 cannot proceed");
   }
    else {
   window.location.href= "sample.html";
   }
}
</style>

CodePudding user response:

you need an while loop, which should keep looping until a proper username is entered.

After the while loop the code execution will continue to the next steps, which is hello message and entering age.

Wish you good luck :-)

  • Related