阻止用户在下拉菜单中选择默认值

时间:2012-03-05 16:47:08

标签: html forms

我试图阻止用户选择默认下拉菜单选项。有没有办法在下拉菜单选项中添加文本而不是值?我的代码:

<select name='test'>
<option value='default' selected='selected'>Please select the value</option>
<option value='value1'>value1</option>
<option value='value2'>value2</option>
</select>

我不希望用户选择“请选择值”选项。有更好的方法吗?

5 个答案:

答案 0 :(得分:3)

客户端代码(javascript / HTML)可以,但这只是成功的一半。

由于您不希望用户实际选择这个“默认值”,这就是我要做的:

<option value=''>Please select the value</option>

value作为空字符串。然后在服务器端代码中,检查发布的值是否为空。如果您不打算使用它,那么填充任意默认值是没有意义的。

默认情况下,将根据标准浏览器行为选择第一个<option>,因此您不需要selected属性。您执行需要value='',或者浏览器可以发布<option>的文字内容。

答案 1 :(得分:3)

你可以做到

<option value='' disabled='disabled' selected='selected'>Please select the value</option>

我假设您正在使用某些客户端验证来确保在提交时未选择此选项?这意味着他们一旦点击就无法选择它,但您需要对其进行验证。

这样的东西
<script LANGUAGE="JavaScript">
<!-- 
    function ValidateForm(form){ 
    ErrorText= ""; 
    if ( form.test.selectedIndex == 0 ) {
         alert ( "Please select a value" ); 
         return false; 
    } 
    if (ErrorText= "") { 
        form.submit()
    } 
} 
-->
</script>

然后点击提交按钮

<input type="button" name="SubmitButton" value="Submit" onClick="ValidateForm(this.form)"> 

答案 2 :(得分:1)

您可以使用JavaScript在用户提交表单时检查所选值。如果值=“default”,则警告用户。

答案 3 :(得分:0)

    <select name='test'>
<option value='default' selected='selected' enabled='false'>Please select the value</option>
<option value='value1'>value1</option>
<option value='value2'>value2</option>
</select>

答案 4 :(得分:0)

使用Html Helper时,将Select的值字段设为默认值为空

 @Html.DropDownListFor(Model => Model.Value, new List<SelectListItem>() { new SelectListItem { Text = "Select", Value = "" }, new SelectListItem { Text = "Value1", Value = "Value1" }, new SelectListItem { Text = "Value2", Value = "Value2" } }, new { @required = "required"})