正在验证选择框

Validating a select box

本文关键字:选择 验证      更新时间:2023-09-26

我想知道如何验证用户是否从我编码的选择框中选择了一个国家。

代码:

<label>Select a Country:
    <br />
    <select name="country">
        <option selected disabled>Choose a Country</option>
        <option value="United States">United States</option>
        <option value="Canada">Canada</option>
        <option value="Mexico">Mexico</option>
    </select>
</label>

这个功能看起来像吗:

function validateCountry(){
    if (form.country.value=="")
        alert("Please Select a Country!");
        form.country.focus();
        return false;
}
  • 您的<select>元素当前的默认值为"Choose a Country",因此您的if语句永远不会为true(没有值为== ''的选项)。设置value属性以更改该属性
  • 未定义form。您可以使用多种方法选择表单,其中一个选项是document.querySelector()。以下假设主题<select>框是文档中第一个匹配的select[name="country"]

function validateCountry(){
    var selectBox = document.querySelector('select[name="country"]');
    if (selectBox.value==""){    
        alert("Please Select a Country!");
        selectBox.focus();
        return false;
    }
}
document.getElementById('button').onclick = validateCountry;
<label>Select a Country:
    <br />
    <select name="country">
        <option value='' selected disabled>Choose a Country</option>
        <option value="United States">United States</option>
        <option value="Canada">Canada</option>
        <option value="Mexico">Mexico</option>
    </select>
</label>
<button id='button'>Validate</button>

 if( document.myForm.Country.value == "-1" )
   {
     alert( "Please provide your country!" );
     return false;
   }

也可以基于document.getElementById进行验证,只需在选择框中添加代码,id="country",

 <label>Select a Country:
  <br />
 <select name="country" id="country">
   <option value="">Choose a Country</option>
   <option value="United States">United States</option>
   <option value="Canada">Canada</option>
   <option value="Mexico">Mexico</option>
  </select>
</label>
 <button id='submit' onclick="return validateCountry();">Validate</button>
function validateCountry() {
 if(document.getElementById('country').value =='')
   {
     alert("Please select a country");
      return false;
   } 
  else
   {
      return true;
    } 
}