2012-10-25 89 views
0

我想要實現的是用相同的值填充許多表單域。我可以做一個具有ID的元素:是否可以填充一個類的所有元素的值?

function selectDateAndArendeSearch(year, month, day, field, number, numberfield) { 
    var m = parseInt(month)+1; 

    if(m<10) 
     month="0"+m; 
    else 
     month=m; 
    if(day.length==1) 
     day="0"+day; 

    document.actionForm.all(field).value = year+"-"+month+"-"+day; 
    document.actionForm.all(numberfield).value = number; 
    document.getElementById('popupF').style.display = 'none'; 
} 

但是我該如何處理很多元素,例如一個類?

+2

使用jQuery作爲我的日常JS伴侶。在jQuery中你使用每個() – jtheman

回答

1
document.getElementsByClassName('myclassname').value = 'New Value'; 
+0

看起來很完美。謝謝! –

+1

沒有這樣的函數,它是'getElementsByClassName',它返回一個數組,你必須迭代。 – Barmar

1

方法getElementsByClassName是現代瀏覽器的上乘之選。
但是,如果您需要與舊瀏覽器兼容,它可能不是本地的。在這種情況下,請查看CMS對this question的回答,他爲此任務提供便攜式功能。

對於兼容性看到下面的working draft

+0

它可以與IE 5+一起使用。我的要求是隻有IE 6才行。 –

+0

@Nick Rosencrantz然後,我強烈建議您使用便攜式方法:請參閱我的編輯以獲取工作草案兼容性的鏈接。它只能在IE9中使用。 –

2
for (el in document.getElementsByClassName('myclassname')) { 
    el.value = "New Value"; 
} 
相關問題