перенаправление с помощью JavaScript, если установлен флажок - PullRequest
0 голосов
/ 17 октября 2018

У меня есть некоторые проблемы с JS-скриптом, который я сделал (возможно, потому что это не правильный путь, но я пришел к этой идее).В основном у меня есть форма с некоторыми переключателями.Да или Нет

<form action="#" method="POST" OnSubmit="return check()">
<input type="radio" id="effettuato" name="sicep" value="Effettuato" />Effettuato <br/>
<input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" />Non Effettuato <br/>
<input class="button" type="submit" name="submit" value="Invia" button style="height:50px;width:150px">
</form>

Теперь я создал этот скрипт JavaScript, потому что я хотел бы остановить пользователя, если не выбрана ни одна радиокнопка.

    function check() {
    if (document.getElementById('effettuato').checked) {
        window.location = 'processiorari.php';
    }
    else if (document.getElementById('noneffettuato').checked) {
        window.location = 'processiorari.php';
    }
    else {
        alert('Seleziona tutti i campi per continuare!');
        return false;
    }
}

Если он выбрал опцию IВы хотели бы перенаправить его на другую страницу с именем

processorari.php

Страница, на которой написана эта строка, -

orari.php

Любая помощь?Я просто делаю редирект неправильно или вся концепция неверна?Все файлы находятся в одной папке, и я запускаю все, используя xampp

Ответы [ 5 ]

0 голосов
/ 15 ноября 2018

Чтобы установить флажок и перенаправить страницу соответственно:

  $(document).ready(function() {

     $('#mychckbx1').prop('checked') ?  window.location.href = 'page1.php' : false;

     $('#mychckbx2').prop('checked') ?  window.location.href = 'page2.php' : false;

  });
0 голосов
/ 17 октября 2018

Вы можете использовать required = "required" в полях и установить действие формы для страницы, которую вы хотите перенаправить.

<form action="processorari.php" method="POST">
  <input type="radio" id="effettuato" name="sicep" value="Effettuato" required="required" />Effettuato <br/>
  <input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" required="required" />Non Effettuato <br/>
  <input class="button" type="submit" name="submit" value="Invia" button style="height:50px;width:150px">
</form>
0 голосов
/ 17 октября 2018

Вы можете использовать прослушиватель событий click для достижения этой цели.Когда кнопка нажата, она проверяет, установлен ли переключатель, если это так, то он будет перенаправлять, используя window.location.href.Нет необходимости использовать отправку.

document.getElementById("submit-btn").addEventListener("click", function() {
  if(document.getElementById('effettuato').checked) {
    window.location.href = 'processiorari.php';
  } else if(document.getElementById('noneffettuato').checked) {
    window.location.href = 'processiorari.php';
  } else {
    alert('Seleziona tutti i campi per continuare!');
  }
});
<form method="POST" action="#">
<input type="radio" id="effettuato" name="sicep" value="Effettuato" />Effettuato <br/>
<input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" />Non Effettuato <br/>
<input class="button" id="submit-btn" type="button" name="submit" value="Invia" button style="height:50px;width:150px">
</form>
0 голосов
/ 17 октября 2018

Понятия не имею, если это правильный способ сделать это, но каким-то образом эта работа просто отлично

    function check() {
    if (document.getElementById('effettuato').checked) {
        return true;
    }
    else if (document.getElementById('noneffettuato').checked) {
        return true;
    }
    else {
        alert('Non puoi lasciare un campo in bianco!');
        return false;
    }
}

, и я оставляю в своей форме действие, подобное этому

<form action="processorari.php" method="POST" OnSubmit="return check()">
<input type="radio" id="effettuato" name="sicep" value="Effettuato" />Effettuato <br/>
<input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" />Non Effettuato <br/>
<input class="button" type="submit" name="submit" value="Invia" button style="height:50px;width:150px">
</form>
0 голосов
/ 17 октября 2018

Проблема в том, что вы вызываете функцию check() только при отправке формы.Кроме этого я не вижу ничего плохого.

Это будет работать, если вы измените onsubmit на onchange следующим образом:

<form action="#" method="POST" onchange="check()">
    <input type="radio" id="effettuato" name="sicep" value="Effettuato"  />Effettuato <br/>
    <input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" />Non Effettuato <br/>
    <input class="button" type="submit" name="submit" value="Invia" button style="height:50px;width:150px">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...