Member 13865935 Ответов: 1

Мне нужна некоторая помощь по PHP и javascript


Я делаю системное программное обеспечение для онлайн-системы бронирования автобусов. Часть бронирования для проверки доступности имеет обязательные поля для ввода пункта назначения..если они нажимают кнопку Отправить, появляется всплывающее окно,но когда я нажимаю кнопку ОК, он переходит на следующую страницу, что он должен делать после того, как бронирование будет в порядке. Итак, могу ли я знать, как я могу заставить пользователя нажать кнопку ОК и оставаться на той же странице до тех пор, пока необходимые поля не будут введены, прежде чем перейти к следующей странице. Если вам нужно увидеть мой код, дайте мне знать, так как он немного длинноват. Большое вам спасибо.
Javascript часть кода находится здесь:
<script type="text/javascript">
    function one(){
      if(document.Form1.Destination.value==""){
        alert("Please Chose your destination");
        return true;}

      if(document.Form1.Date.value==""){
       alert("Please chose a date");
       return true;}

           if(document.Form1.Time.value=="");{
              alert("Kindly chose your time of the day");
              return true;}

            if(document.Form1.Adults.value=="");{
              alert("Fill the number of Adults travelling");
              return true;}

               if(document.Form1.Children.value=="");{
                 alert("Fill the number of children travelling");
                  return true;}

    }
</script>
    <div class="bookform">
     <button name="redirect" onClick="redirect()">
    <form name="Form1" action="insert.php" method="post" onsubmit="return one()">

     <h2><center>Check Availability <center></h2>

         <br>
   <center> <label> Destination:</label>

      <select name="Destination">
          <option disabled selected value> -- select an option -- </option>
         <option value="op1"> Nairobi </option>
         <option value="op2"> Eldoret </option>
         <option value="op3"> Kisumu </option>
         <option value="op4"> Kericho </option>
         <option value="op5"> Mombasa </option>
         <option value="op6"> Kisii </option>
         <option value="op7"> Kampala </option>
         <option value="op8"> Voi </option>
         <option value="op9"> Kitale </option>
         <option value="op10"> Kakamega </option>
       </select>

      <br> <br>

    <label>       Date:</label>     <Input type= "Date" name="Date" max="10" id="date"> <br><br>

    <label>           Time :</label>
     <select name="Time">
      <option disabled selected value> -- select an option -- </option>
     <option value="op1"> Morning </option>
     <option value="op2"> Afternoon </option>
     <option value="op3"> Evening </option>
    </select>
      <br> <br>

                    Number of Passengers: <br> <br>

           Adults: <br>
         <input type="text" name="Adults" size="5" maxlength="30"> <br>

      <center> Children:  <br>
           <input type="text" name="Children" size="5" maxlength="30">  </center> <br>

      <br>
   <input type="submit" value="SUBMIT INFO" name="sb1" onclick="location.href='Availability.html'">
     <input type="reset" value="Reset">
      <br> <br> <br>
     </input>
   </center>
 </form>


Что я уже пробовал:

Я попытался найти, как это исправить или как я могу избежать перехода на новую страницу, если детали не заполнены.

1 Ответов

Рейтинг:
5

Richard Deeming

В вашей функции замените return true; с return false;.

Тогда вам понадобится return true; в нижней части функции, если все проверки проходят успешно.

Есть также некоторые случайные точки с запятой между некоторыми из ваших if тесты и следующий блок. Они должны быть удалены, иначе проверка никогда не будет успешной.

function one(){
    if (document.Form1.Destination.value==""){
        alert("Please Chose your destination");
        return false;
    }
    if (document.Form1.Date.value==""){
       alert("Please chose a date");
       return false;
    }
    if (document.Form1.Time.value==""){
        alert("Kindly chose your time of the day");
        return false;
    }
    if (document.Form1.Adults.value==""){
        alert("Fill the number of Adults travelling");
        return false;
    }
    if(document.Form1.Children.value==""){
        alert("Fill the number of children travelling");
        return false;
    }
    
    // All validation has passed:
    return true;
}