簡體   English   中英

我可以在document.getelementbyID內傳遞多個ID嗎?

[英]Can I pass multiple Id's inside a document.getelementbyID?

我有一個具有45個下拉列表的表單,並且我使用底部代碼進行驗證。

如何僅使用底部代碼的一個功能對我的所有45個下拉列表進行驗證?

這是功能

function Validate()
{
var e = document.getElementById("dropdownlistone");
var strUser = e.options[e.selectedIndex].value;
var strUser1 = e.options[e.selectedIndex].text;
if(strUser==0)
{
alert("Please select a user");
}
}
----- HTML CODE 

<select id="dropdownlistone">
<option value="0">Select</option>
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>  
<input type="button" onClick="Validate()" value="select"/>

這是您需要使用類的情況。 然后使用querySelectorAll方法:

function Validate() {
    var e = document.querySelectorAll(".dropdownlistone");
    for (var i = 0; i < e.length; i++) {
        var strUser = e[i].options[e[i].selectedIndex].value;
        var strUser1 = e[i].options[e[i].selectedIndex].text;
        if (strUser == 0) {
            alert("Please select a user");
            return;
        }   
    }
}

演示: http//jsfiddle.net/cwNaH/

這是一個帶有更多用戶友好驗證消息的示例: http : //jsfiddle.net/cwNaH/1/

您可以將DOM方法getElementsByTagName用於select框,並將data-attr to "validate"設置為data-attr to "validate" ,如果您不希望對其進行驗證,則只需不添加上述屬性即可。

例如 的HTML

<select id="sel1" data-attr="validate">
  <option value="0">Select</option>
  <option value="1">test1</option>
  <option value="2">test2</option>
  <option value="3">test3</option>
</select> 

<select id="sel2" data-attr="validate">
  <option value="0">Select</option>
  <option value="1">test1</option>
  <option value="2">test2</option>
  <option value="3">test3</option>
</select>

的JavaScript

function validate()
{
  var ele = document.getElementsByTagName("select");
  for(var i=0;i<ele.length;i++)
  {
     if(ele.getAttribute("data-attr") && ele.getAttribute("data-attr")=='validate')
     {
          // you have all 47 select boxes whoose data-attr is validate
          // each select box will be in ele[i]
          var value= ele[i].options[ele[i].selectedIndex].value;
          var text= ele[i].options[ele[i].selectedIndex].text;

          alert( value+ " : " + text);
     }
  }
}

暫無
暫無

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

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