我正在尝试将今天的日期附加到使用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>
答案 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' />