簡體   English   中英

驗證選擇元素輸入的正確方法

[英]Correct way to validate input of a select element

驗證是否在下拉列表中選擇了一個選項的正確方法是什么? 我有一些選擇元素(字段集),這些元素設置為不顯示,而其他元素則可見。 我只想驗證可見的,否則表單將不會提交。

例如:

<fieldset id="a1_1">
  <select name="a1_1">
     <option value="" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

<fieldset id="a1_2" style=" display: none;">
  <select name="a1_2">
     <option value="" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

<fieldset id="a2_1">
  <select name="a2_1">
     <option value="" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

<fieldset id="a2_2" style=" display: none;">
  <select name="a2_2">
     <option value="" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

我正在嘗試這樣的事情,沒有任何運氣:

var x = document.forms["x"]["a1_1"].value;
    if (x == null || x == "")
    {
        alert("Age must be selected");
        return false;
    }

在您的情況下,我將更改為:

x = $('select[name="a1_1"]').val();//get the value in jquery

if(x!=1 || x!= 2 || !x)

有用的鏈接

使用jquery,您可以嘗試如下操作:

if ($("select[name=a1_1]").val().length <= 0)
{
    alert("Age must be selected");
    return false;
}

並將其用於其他人,這將解決您的問題。

我會做這樣的事情:

<fieldset id="a1_1">
  <select name="a1_1" errorMessage="Age must be selected">
     <option value="0" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

//Catch submit form event
$('form').submit(function(){
    //Go through all select elements of the form
    $(this).find('select').each(function(){
        //Validate the selected value
        if($(this).val() === "0")
        {
            //Display the defined error message if needed
            var msg = $(this).attr('errorMessage');
            alert(msg);
            //And return false to invalidate the form submission
            return false;
        }
    });
});

它不起作用,因為您有兩個id / name為a1_1 ,請嘗試給字段集賦予不同的id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM