【问题标题】:<select> required not working<select> 需要不工作
【发布时间】:2017-11-03 12:06:50
【问题描述】:

我正在将此代码与 php 代码一起用于选择并使用必需的类来使其成为强制性但它不起作用。有谁可以帮助我。我已将这个 html 部分与 php 代码一起包含在内。

 <select name="category" required="required" class="form-control">
        <option value=" ">--Select Category--</option>
        <option value="asd">asd</option>
    </select>

【问题讨论】:

  • 你用的是什么浏览器?
  • 尝试删除您选择的类别选项中的空间值
  • 试试我下面的答案 :) 看看它是否有效
  • @JosanIracheta 使用 chromium 浏览器(Linux 操作系统)

标签: javascript php forms validation


【解决方案1】:

在我的例子中,select 元素上的required 属性不起作用,因为第一个 option 元素添加了selected 属性。

selected 属性破坏了required 属性

<label for="procedures_of_interest">Procedures Of Interest</label>
<select name="procedures_of_interest" id="procedures_of_interest" required multiple="multiple">
  <option value="" selected disabled>Select One or More</option>
  <option value="first">first</option>
  <option value="second">second</option>
  <option value="last">last</option>
</select>

通过从 option 元素中删除 selected 属性,requiredmultiple 属性都可以在 select 元素上正常工作:

<label for="procedures_of_interest">Procedures Of Interest</label>
<select name="procedures_of_interest" id="procedures_of_interest" required multiple="multiple">
  <option value="" disabled>Select One or More</option>
  <option value="first">first</option>
  <option value="second">second</option>
  <option value="last">last</option>
</select>

【讨论】:

    【解决方案2】:

    你必须添加 required 和 value 属性

    <select required="true" name="unit">
    <option disabled selected value="">-- Select One --</option>
    <option>Square Feet</option>
    <option>Square Yards</option>
    <option>Square Meters</option>
    <option>Marla</option>
    <option>Kanal</option>
    

    【讨论】:

      【解决方案3】:

      首先,替换

       <option value=" ">--Select Category--</option>
      

       <option value="">--Select Category--</option>
      

      然后,正如w3c 所说,...“必需的属性是布尔属性。指定时,该元素是必需的。”

       <select name="category" required class="form-control">
           <option value="">--Select Category--</option>
           <option value="asd">asd</option>
       </select>
      

      另外here你也可以找到同样的例子。

      还有here你可以试试代码。

      必需的工作。事实上," " 是一个值,而 "" 不是。

      【讨论】:

      • required="required" 和写required 是一回事,所以我认为这不会解决他的问题。
      • 如果您不信任我,请相信 w3c 或 w3cschool。以上只是他们的,不是我的。 ^_^
      • 我可以相信你,但是I don't trust W3Schools
      • 我相信你,我也相信w3c,但你分享的页面上没有写的是布尔属性可以写attributeattribute="attribute"
      【解决方案4】:

      您只使用了 HTML5 验证,它可能不适用于所有浏览器。您是否正在寻找我建议使用 jquery 验证的正确验证。 Validation Document

      【讨论】:

        【解决方案5】:

        尝试在您的选择类别选项中删除空间值

        <select name="category" required="required" class="form-control">
            <option value="">--Select Category--</option>
            <option value="asd">asd</option>
        </select> code here
        

        【讨论】:

          【解决方案6】:

          尝试将required 部分更改为true

          所以它会像required="true",它有效吗?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-12-08
            • 2013-11-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-07-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多