#javascript
#javascript
Вопрос:
Я создаю веб-форму, и пользователь вводит дату, и я хочу сравнить ее с датой, чтобы показать доступность, напечатанную в другом месте, и «показать дату» — это пользовательский ввод, а «2019-05-21» — это данные, с которыми я хочу сравнить.
if (document.getElementById("showDate").value === 2019-05-21 amp;amp; document.getElementById("selection").value === "Les Miserables")
{
document.getElementById("displayAva").innerHTML = "65 tickets left";
}
Комментарии:
1. Во-первых, пожалуйста, добавьте весь соответствующий код к вашему вопросу. Это также означает HTML. Далее, вы указали, что вы хотите, но на самом деле не задали конкретный вопрос. Что делает опубликованный вами код? Получаете ли вы какие-либо сообщения об ошибках? Какой у вас конкретный вопрос?
2. Можете ли вы показать нам образец пользовательского ввода в #showDate
3. Далее, поймите, что это
2019-05-21
возвращает1993
, потому что для JavaScript это просто математическое выражение. Чтобы сравнить дату, у вас должен быть другой тип даты для сравнения. Или, может быть, у вас есть строки, которые выглядят как даты. В этом случае вам нужно сравнить строку с другой строкой.4. Как будет выглядеть тип даты, если я хочу напрямую сравнить их вместо создания переменной date?
5. Это значение, которое сохраняется, поэтому, если вы хотите сравнить дату, у вас должна быть одна, что вы можете сделать следующим образом:
new Date(2019-05-21)
Ответ №1:
2019-05-21
это не дата.
Просто запустите этот код:
console.log(2019-05-21)
На выходе 1993
вы выполняете математические операции. Вместо этого вы должны использовать string или Date
.
Я не знаю, каково значение document.getElementById("showDate").value
, но если это строка, вы могли бы просто сделать:
document.getElementById("showDate").value == "2019-05-21"
Таким образом, вы бы сравнивали две строки. Если showDate.value
точно "2019-05-21"
, это вернет true.
Используя Date
, вы могли бы сделать:
Date.parse(document.getElementById("showDate").value) == Date.parse("2019-05-21")
Или если другое значение уже Date
:
document.getElementById("showDate").value.getTime() == Date.parse("2019-05-21")
Или:
document.getElementById("showDate").value.toUTCString() == new Date("2019-05-21").toTimeString()
Это просто разные способы сравнения, используйте то, что вы считаете лучшим для себя.