6

是否可以强制/要求用户从下拉菜单中进行选择?例子:

<form action="">
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
</form>

默认选择“沃尔沃”。我想要的是让浏览器知道用户已经做出选择并且不接受自动默认值。

我在想这样的事情:

<form action="">
<select name="cars" required="required">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
</form>

有什么建议吗?

4

2 回答 2

1

我调整了一个来自 jquery validate 的例子,让它为你工作。我知道在您最初的问题中您要求它基于 HTML5,但也许这个混合示例是可以接受的。

http://jsfiddle.net/36MkJ/

<html>
<head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>
    <script>
        $(document).ready(function(){
            $("#carsForm").validate();
        });
    </script>
</head>
<body>
<form class="cmxform" id="carsForm" method="get" action="">
    <select name="cars" class="required">
        <option value="">Select a car</option>
        <option value="volvo">Volvo</option>
        <option value="saab">Saab</option>
        <option value="fiat">Fiat</option>
        <option value="audi">Audi</option>
    </select>
    <p>
        <input class="submit" type="submit" value="Submit"/>
    </p>
</form>

原始示例位于http://docs.jquery.com/Plugins/Validation

于 2012-10-17T16:51:04.837 回答
1

自问题发布以来已经过去了很多时间。对于像我一样遇到这个问题的任何人,现在解决方案变得更加简单:您可以在选择中添加第一个选项,而不设置任何值。浏览器会自动将其视为“未选择任何内容”:

<!DOCTYPE html>
<html>
  <body>
    <form>
      <select required>
        <option value="">Please select</option>
        <option value="volvo">Volvo</option>
        <option value="saab">Saab</option>
        <option value="opel">Opel</option>
        <option value="audi">Audi</option>
      </select>
      <input type="submit"/>
    </form>
  </body>
</html>

JSFiddle 显示它无需进一步的 JS 即可工作:https ://jsfiddle.net/nrs5a7qh/

于 2018-10-14T13:31:33.007 回答