Настройка типа ввода = "datetime", установленный через JavaScript в IOS - PullRequest
2 голосов
/ 07 февраля 2012

У меня есть объект Date в JS, и я пытаюсь установить значение.Но я просто не могу понять это.В IOS ничего не происходит.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 13 марта 2012

Проблема, на которую, я думаю, вы ссылаетесь, заключается в настройке поля ввода в iOS 5 типа datetime.Как этот:

<input type="datetime" id="dateStart" />

единственный найденный способ - использовать метод форматирования toISOString ()

var currentTimeAndDate = new Date(); 
document.getElementById('dateStart').value = currentTimeAndDate.toISOString();

или в jQuery

$("#dateStart").val(currentTimeAndDate.toISOString());
0 голосов
/ 07 февраля 2012

У меня нет среды, которую я могу протестировать, однако спецификация HTML5 говорит, что ваш ввод должен выглядеть так:

<input type="date" name="someDate" id="someDate">

Значение должно быть возвращено в виде строки в формате:

yyyy-mm-dd

Я ожидаю, что вы сможете преобразовать это в объект даты, используя:

var date = new Date(document.getElementById('someDate').value);

в браузерах, которые поддерживают тип ввода даты. Но, вероятно, другие браузеры также будут использовать страницу (и для этого потребуется экранная подсказка относительно соответствующего формата), поэтому вы можете захотеть проанализировать дату вручную, например:

var dateBits = document.getElementById('someDate').value.split('-');
var date = new Date();
date.setYear(dateBits[0], dateBits[1] - 1, dateBits[2]);

// Validate the date
if (date.getFullYear() == dateBits[0] && date.getDate() == dateBits[2]) {
    // got a valid date
} else {
    // didn't get a valid date
}

// And if the time needs to be zeroed
date.setHours(0, 0, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...