asp TextBox with TextMode="Date" 如何复制日期?

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

是否可以将日期作为字符串复制到剪贴板?当我们使用 DevExpress 文本框时,我们能够突出显示整个日期字段并复制。现在我们将其更改为 asp:TextBox (TextMode="Date") 后,我们不能这样做。右键单击上下文菜单没有任何复制菜单,左键单击仅显示日历。

任何实现这一目标的建议都值得赞赏。

asp.net textbox copy-paste
1个回答
0
投票

好吧,就说这个文本框,在文本框旁边,我们有一个按钮。

        <asp:TextBox ID="TextBox1" runat="server" TextMode="date" ClientIDMode="Static">
        </asp:TextBox>
         <button id="mycopy" type="button"
            onclick="copyt();return false"
            >Copy</button>

        <script>

            function copyt() {
                console.log('start')
                var mytext = document.querySelector('#TextBox1').value
                navigator.clipboard.writeText(mytext)
                alert("you can now ctrl-v -- copy text = " + mytext)


            }

        </script>

因此,上面的代码会将文本框的内容“复制”到粘贴缓冲区中。

当然,我想如果你有很棒的字体,那么有一个像这样的按钮:

        <asp:TextBox ID="TextBox1" runat="server" TextMode="date" ClientIDMode="Static">
        </asp:TextBox>
         <button id="mycopy" type="button"
            onclick="copyt();return false"
            ><span class="fa fa-clipboard" aria-hidden="true"></span></button>

        <script>

            function copyt() {
                console.log('start')
                var mytext = document.querySelector('#TextBox1').value
                navigator.clipboard.writeText(mytext)
                alert("text = " + mytext)


            }

现在的结果是这样的:

公平地说,人们可能应该删除上面的“警报”命令。

正如我所建议的,另一个想法是自定义右键单击上下文菜单。然而,这将需要大量的代码,并且最好采用一些 JavaScript 库来实现此目的。我确实“查找”了一些示例,但生成的代码并不那么干净,因此保持简单,上面的代码看起来是获得所需结果的最少努力。

© www.soinside.com 2019 - 2024. All rights reserved.