如何强制用户选择带引导程序的<select>选项</select>

时间:2013-11-12 15:45:57

标签: javascript jquery twitter-bootstrap

我一直试图将这个答案解决了几个小时,这让我疯了!

我正在使用Twitter Bootstrap和bootstrap-min.js。

这是我的代码:

<select id="assettype" name="assettype" class="input-medium required">
   <option>-- Please select --</option>
   <option value="1">Printer</option>
   <option value="2">Scanner</option>
</select>

如果用户将表单保留为“ - 请选择 - ”选项,那么我想要一个错误来阻止用户提交表单,即强制他们进行选择。

任何帮助都会受到大力赞赏!提前谢谢。

3 个答案:

答案 0 :(得分:2)

使用event.preventDefault()

$('#formId').submit(function (e) {
    if ($('#assettype').val() == '') {
    e.preventDefault(); //stop form submission
}
});

<小时/> 或

使用jQuery Validator

$.validator.addMethod('notNone', function (value, element) {
    return (value != '');
}, 'Please select an option');
$("form").validate({
    rules: {
        assettype: {
            required: true,
            notNone: true
        }
    }
});

答案 1 :(得分:1)

在提交之前,您似乎需要进行简单的验证,例如

$('#formId').submit(function () {
 if ($('#assettype').val() != '')) {  //Check the value of select
    return true; //allow to submit the form
 }
 else {       
    alert("Please select an option");
    return false;  //Prevent form being submitted
 }
}); 

答案 2 :(得分:1)

<form id="my_form" method="POST" action="" >
<select id="assettype" name="assettype" class="input-medium required">
  <option value="0" >-- Please select --</option>
  <option value="1">Printer</option>
  <option value="2">Scanner</option>
</select>
</form>
<script type="text/javascript">
  $("#my_form").submit(
    var check_value = $("#assettype").val();
    if (check_value == 0)
    {
      e.preventDefault();
      // prevent the user he has to choose something
      // by an alert for example, or background change of the element
      $("#assettype").css("background-color", "red");
      return false;
    }
    else
    {
      // and restore it if it's ok
      $("#assettype").css("background-color", "inherit");
    }
    return true;
  });
</script>