【问题标题】:Is there a potential way to disable user input in a <datalist>?是否有可能在 <datalist> 中禁用用户输入?
【发布时间】:2017-04-11 16:20:56
【问题描述】:

我在使用&lt;select&gt;&lt;datalist&gt; 来显示一个用户可以从中选择项目的下拉列表。

&lt;select&gt; 标签的一个缺点是它不一致,因为它在不同的浏览器中呈现不同:一些浏览器显示滚动条,而对于一些浏览器,它是一个下拉列表。

另一方面,&lt;datalist&gt; 看起来不错,但我只是想知道是否有任何方法可以禁用文本输入,如果用户不点击向下箭头,他们可以在文本框中输入任何他们想要的内容输入框上的按钮如图:

​<form action="demo_form.asp" method="get">
  <input list="browsers" name="browser">
  <datalist id="browsers">
    <option value="Internet Explorer">
    <option value="Firefox">
    <option value="Chrome">
    <option value="Opera">
    <option value="Safari">
  </datalist>
  <input type="submit">
</form>

有没有办法在保留下拉列表的同时禁用输入栏?我尝试了 'readonly' 属性,但这会导致整个不可点击。

【问题讨论】:

    标签: html select drop-down-menu listbox datalist


    【解决方案1】:

    您可以在input 元素上使用the pattern attribute 来限制允许的值:

    ​<form action="demo_form.asp" method="get">
      <input list="browsers" name="browser"
        pattern="Internet Explorer|Firefox|Chrome|Opera|Safari"
        title='Must be "Internet Explorer", "Firefox", "Chrome", "Opera", or "Safari"'>
      <datalist id="browsers">
        <option value="Internet Explorer">
        <option value="Firefox">
        <option value="Chrome">
        <option value="Opera">
        <option value="Safari">
      </datalist>
      <input type="submit">
    </form>
    

    【讨论】:

      猜你喜欢
      • 2018-04-26
      • 2019-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多