当文本框 TextMode="Date" 时,如何清除边缘浏览器中输入的日期?

How to clear entered date in edge browser when textbox TextMode="Date"?

在 ASPX 页面中,我有几个文本框应该只接受日期格式的值。我添加了 TextMode="Date" 属性 来设置它,它按预期工作,就像在 Chrome 浏览器中输入和删除日期一样,但在 Microsoft Edge 浏览器中我无法删除输入的日期(Edge 浏览器不'不在文本框内显示 'X' 按钮,如 Chrome).

<asp:TextBox ID="txtSample" runat="server" TextMode="Date">

有没有简单的方法来解决(比如在文本框中添加 'X' 按钮)而不是客户日历?

边缘日期:

Chrome中的日期:

Edge 没有提供默认的清除按钮,因此解决方案是创建您自己的函数来清除字段的值。

function clearDate() {
    var input = document.getElementById("txtSample");
    input.value = "";
}

输出 HTML 看起来像这样:

<input type="date" id="txtSample" placeholder="12-12-2017">
<button onclick="clearDate()">clear</button>

你仍然会有 Chrome UI 但是你可能想要完全删除 Chrome 版本:

#txtSample::-webkit-clear-button {
    display: none;
}