Я не получаю вывод после вставки даты ввода - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть функция, которая получает дату рождения и не печатает вывод, который является знаком в соответствии с датой рождения

Я хочу, чтобы вывод находился под кнопкой отправки (где id = output), в настоящее время работает только с предупреждением

Другая возможность состоит в том, что вывод будет во входном тексте.

Есть ли у вас какое-либо решение вместо оповещения в качестве выхода?

function yourSign() {
    var signDate = $("input[name='birthDate']").val();
    tempSignDate = signDate.split("-").join("/");
    newSignDate = tempSignDate.substring(5, 10);
    var AriesDateFrom = "21/03";
    var AriesDateTo = "20/04";
    var TaurusDateFrom = "21/04";
    var TaurusDateTo = "20/05";
    var Ad1 = AriesDateFrom.split("/");
    var Ad2 = AriesDateTo.split("/");
    var Td1 = TaurusDateFrom.split("/");
    var Td2 = TaurusDateTo.split("/");
    var s = newSignDate.split("/");
    if (newSignDate == "") {
        alert("enter birthday");
    }else if (s >= Ad1 && s < Ad2) {
         document.getElementById("output").innerHTML = "Aries";
     }else if (s >= Td1 && s < Td2) {
         document.getElementById("output").innerHTML = "Taurus";
     }
}
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <head>
        <meta charset="utf-8" /> 
        <!--<script src="https://code.jquery.com/jquery-1.12.4.min.js"
                integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
                crossorigin="anonymous">
        </script>-->
        </head>
            <body>
            <div>
                <form>
                <label for=birthDate>birthdate</label><br /><input type="date" name="birthDate" id="birthDate" /><br />
                <button onclick="yourSign()">send</button><br />
                <label> your sign is </label><br />
                <p id="output"></p>
                <!--<input type="text" name="output" id="output" />-->
            </form>
        </div>
    </body>
    </html>

1 Ответ

0 голосов
/ 12 апреля 2019

split() создает массив.Вы не можете напрямую сравнивать массивы в целом.

В ваших массивах есть два элемента: номер дня и номер месяца.

День всегда имеет индекс 0 в вашем фрагменте.Месяц всегда является индексом 1.

Попробуйте сравнить ваши массивы по шагам:

if ( s[1] >= Ad1[1] && s[0] >= Ad[0] && s[1] <= Ad2[1] && s[0] <= Ad2[0]) { [...] };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...