gpt4 book ai didi

javascript - 如何处理绑定(bind)到同一 ng-model 的不同输入类型?

转载 作者:行者123 更新时间:2023-12-03 07:03:35 27 4
gpt4 key购买 nike

在页面中,我有一个用于日期范围选择的部分。我们的很大一部分用户群是 IE 10/11,它不支持输入 type="date"。我使用 Modernizr 根据支持显示/隐藏日期输入,如果不支持,则提供 type="text"的输​​入,两者都绑定(bind)到相同的 ng-model。由于文本和日期不兼容,因此在文本中键入垃圾邮件会导致控制台出现错误。有没有办法修复这个控制台垃圾邮件?使用第三方库不是一个选择。

<div class="col-md-3" data-ng-show="searchBillCreatedDate == 'custom'">
<label>From</label>
<input data-ng-model="searchFromDate" type="date" class="form-control" data-ng-show="browser.supportsDateInput">
<input data-ng-model="searchFromDate" type="text" class="form-control" data-ng-show="!browser.supportsDateInput" placeholder="yyyy-mm-dd">
</div>

最佳答案

将 ng-show 更改为 ng-if,如下所示:

<input data-ng-model="searchFromDate" type="date" class="form-control" data-ng-if="browser.supportsDateInput">
<input data-ng-model="searchFromDate" type="text" class="form-control" data-ng-if="!browser.supportsDateInput" placeholder="yyyy-mm-dd">

您收到错误是因为它绑定(bind)到第一个输入的模型,即日期输入。 ng-show 只是使用 CSS 来隐藏元素,但它仍然存在于 DOM 中。然而,ng-if 完全将其从 DOM 中删除,只留下一个 ng-model="searchFromDate"

关于javascript - 如何处理绑定(bind)到同一 ng-model 的不同输入类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36924358/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com