Создать перенаправления страниц при отправке формы из указанных c переключателей, используя javascript - PullRequest
1 голос
/ 22 января 2020

Сразу прошу прощения за этот дурацкий код. Мне нужна помощь в создании перенаправлений страниц при отправке формы, когда выбрана или отмечена указанная комбинация переключателей c. Фактическая форма, над которой я работаю, установлена, поэтому ее необходимо использовать javascript. У меня есть упрощенный пример, чтобы показать, что я сделал до сих пор.

<html> First Question?<br>
<label>Yes<input type="radio" name="1" id="1" value="1"><br></label>
<label>No<input type="radio" name="2" id="2" value="2"><br></label>
Second Question?<br>
<label>Yes<input type="radio" name="3" id="3" value="3"><br></label>
<label>No<input type="radio" name="4" id="4" value="4"><br></label>

</br>
<input type="submit">
<script>
    onFormSubmit: (function sum($form) {

        var ab = document.getElementById("1");
        var bc = document.getElementById("2");
        var cd = document.getElementById("3");
        var de = document.getElementById("4");

        var ef = (ab) && (bc);
        var fg = (ab) && (cd);
        var gh = (ab) && (de);

        if ($form.find("ef").prop("checked")) {
            window.location.href = "url 1"
        } else if ($form.find("fg").prop("checked")) {
            window.location.href = "url 2"
        } else if ($form.find("gh").prop("checked")) {
            window.location.href = "url 3"
        else {
            window.location.href = "url 4"
        }

    });
</script>
</html>

Я пробовал несколько вещей. Это где я в конечном итоге. Каждый раз мне удается заставить что-то работать, но оно просто определяет первый идентификатор, а не на основе комбинации выбранных идентификаторов и т. Д. c. Я хочу в конечном итоге расширить форму, чтобы получить больше вопросов, но моя главная цель - сначала заставить это работать.

Большое спасибо за помощь заранее и еще раз извиняюсь за это слабое оправдание за javascript. J

1 Ответ

1 голос
/ 22 января 2020

Это тренировки, которые вы ищете. Проверьте фрагмент и сообщите мне, если у вас есть какие-либо проблемы.

function onFormSubmit($form){
event.preventDefault();
        var ab = document.getElementById("1");
        var bc = document.getElementById("2");
        var cd = document.getElementById("3");
        var de = document.getElementById("4");
     
        if (ab.checked && bc.checked) {
             console.log('url 1');
            window.location.href = "url 1";
        } else if (ab.checked && cd.checked) {
             console.log('url 2');
            window.location.href = "url 2";
        } else if (ab.checked && de.checked) {
             console.log('url 3');
            window.location.href = "url 3";
        }else {
             console.log('url 4');
            window.location.href = "url 4"};
        }
<form id="form_field">
First Question?<br>
      <label>Yes<input type="radio" name="1" id="1" value="1"><br></label>
       <label>No<input type="radio" name="2" id="2" value="2"><br></label>
      Second Question?<br>
       <label>Yes<input type="radio" name="3" id="3" value="3"><br></label>
      <label>No<input type="radio" name="4" id="4" value="4"><br></label>

      </br>
      <input type="submit" value="submit" onclick="onFormSubmit(document.getElementById('form_field'))"> 
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...