如何将Javascript日期附加到具有相同ClassName的多个输入?

时间:2017-12-05 22:48:35

标签: javascript

我正在尝试将今天的日期附加到使用while语句生成的多个输入。但是每一个都返回空白。有什么办法使这项工作?感谢

PHP

//rest of code here
while ($row = mysqli_fetch_array($result)) { 
<input class="Paydate"  name="Paydate" value="" type="text">
}

JS

<script>
var mydate;
mydate = new Date();
document.getElementsByClassName('Paydate').value = mydate.toISOString().slice(0, 19).replace('T', ' ');
</script>

2 个答案:

答案 0 :(得分:0)

getElementsByClassName返回实时HTMLCollection而不是单个元素,您需要迭代集合

var dateStr =  new Date().toISOString().slice(0, 19).replace('T', ' ');
Array.from( document.getElementsByClassName('Paydate') ).forEach( function(ele){
   ele.value = dateStr;
});

答案 1 :(得分:0)

您就在那里,getElementsByClassName返回HTMLCollection,请参阅MDN了解详情。您将其视为返回单个HTML元素。

您需要做的是迭代返回的结果,并在返回的每个元素上设置value属性,而不是集合。

var dateISOString =  new Date().toISOString().slice(0, 19).replace('T', ' ');
Array.from(document.getElementsByClassName('Paydate')).forEach(element => {
    element.value = dateISOString;
});
<input class='Paydate' />
<input class='Paydate' />
<input class='Paydate' />
<input class='Paydate' />