使用Javascript从一个HTML输入复制到另一个HTML输入的日期/日期时间

问题描述 投票:0回答:1

我有2个a元素。两者都打开Bootstrap模态。a元素用于创建全新记录,因此它发送当前日期/时间:

<a style="color:#5cb85c" date-CreateDate="@DateTime.Now" data-toggle="modal" data-target="#OnPostModal" href="#OnPostModal" class="fas fa-plus-circle"></a>

另一个a元素包含已经创建的记录中的某些字段,因此它随它一起发送该预先存在的创建日期。

<a data-toggle="modal" data-target="#OnPostModal" data-CreateDate="@item.Supplier.CreateDate" href="#CallModal" class="fas fa-edit"> </a>

我使用一些JavaScript来填充弹出的模式上的字段:

<script type="text/javascript">
    $('a[data-toggle=modal], button[data-toggle=modal]').click(function () {

        var data_CreateDate = '';

        if (typeof $(this).data('CreateDate') !== 'undefined') {
            data_CreateDate = $(this).data('CreateDate');
        }

        $('#CreateDate').val(data_CreateDate);
    })

</script>

最后,这是模态中需要填充的区域:

<div class="form-group">
   <label asp-for="Supplier.CreateDate" class="control-label"></label>
   <input asp-for="Supplier.CreateDate" id="CreateDate" type="datetime" class="form-control" />
   <span asp-validation-for="Supplier.CreateDate" class="text-danger"></span>
</div>

此方法适用于字符串值,但似乎不适用于DateTime或Date值。我已经尝试过:

var data_CreateDate = new Date();

这不起作用。

javascript html asp.net-core bootstrap-4
1个回答
0
投票

new Date()返回一个对象。您想要一个字符串。几种格式可供选择:

const output = document.getElementById('output');
const d = new Date();
output.innerText = d.toString() + '\n';
output.innerText += d.toISOString() + '\n';
output.innerText += d.toGMTString() + '\n';
output.innerText += d.toLocaleDateString() + '\n';
output.innerText += d.toUTCString() + '\n';
<pre id="output"></pre>
© www.soinside.com 2019 - 2024. All rights reserved.