2

我在这里阅读了很多,并从帖子中找到了很多解决方案。这是我的第一个问题。我希望我做得很好。

我使用的 datetime-local 输入类型来自:http: jquerymobile.com /demos/ 1.2.1 /docs /forms /textinputs/

我想用我的数据库中的日期时间预填充它(使用 mysql 和 php)

问题是我在字段中获得了一个值并且没有日期时间选择器,或者我没有获得任何值并且日期时间选择器将弹出。

1. 我似乎找不到描述如何预填充它的文档。我俯瞰了吗?2. 有人可以帮我解决这个问题吗?

~=-=-=-=-=-=~

我的测试代码如下。

        <div data-role="fieldcontain">
            <label for="datetime-l">Datetime local:</label>
            <input type="datetime" name="datetime-l" id="datetime-l"  value="<?php
            $date1 = new Datetime($rrecord->strval('datenote'));
            echo $date1->format(DateTime::ISO8601);
            ?>" />
        </div>

        <div data-role="fieldcontain">
            <label for="datetime-2">Datetime local:</label>
            <input type="datetime-local" name="datetime-2" id="datetime-2"  value="<?php echo $rrecord->strval('datenote') ?>" />
        </div>

第一个字段填充了一个日期,但触摸它时不会弹出日期时间选择器。

见链接截图 ——http: //picpaste.com/2013-09-12_21.45.11_1.png

第二个字段是空的,但触摸时会弹出一个日期时间选择器。

见链接截图——http: //picpaste.com/2013-09-12_21.45.19.png

这是回显输入的调试代码。它们显示在第一个屏幕截图中。

    <?php echo "debug datetime prefill from database"; ?>
    <?php
    echo "<br/>rrecord strval('datenote') = ", $rrecord->strval('datenote');
    $date1 = new DateTime($rrecord->strval('datenote'));
    echo "<br/> date1 format(DateTime::ISO8601) = ", $date1->format(DateTime::ISO8601);
    ?>
4

2 回答 2

5

我可以使用电话输入日期时间。我查看了输出日期时间格式。格式为“Ymd\TH:i”。下面我从 PHP 相应地格式化了输入日期。

        <div data-role="fieldcontain">
            <label for="datetime-l">Date:</label>
            <input type="datetime-local" name="datetime-l" id="datetime-l"  value="<?php
            echo date("Y-m-d\TH:i", strtotime($rrecord->strval('datenote')));
            ?>" />
        </div>

这行得通。

于 2013-09-16T14:50:42.677 回答
-1
$(document).ready(function() {
$("#datetime-1").val(<?php YOUR CODE ?>);
$("#datetime-2").val(<?php YOUR CODE ?>);
});

它有点 hacky,但它应该可以工作,只要确保日期的格式是 jq mobile 所期望的。

于 2013-09-13T15:39:51.580 回答