我在网页上使用JavaScript创建了多种表单,我想用值(startDate)填充适当表单中的字段。

我尝试了以下代码:

oForm = document.forms['bookingform' + fleetID];
oFormElement = oForm.elements['startdate'];
oFormElement.value = startDate;


...但是出现错误“ oForm.elements为null或不是对象”。

到目前为止,我一直在使用document.getElementById('startdate')。value而不是创建一个form对象。在指定应填充值的形式时,哪种方法正确?

最佳答案

form.elements是一个纯数组。因此,您要么知道索引,要么必须搜索它。

Form = document.forms['bookingform' + fleetID];
oFormElement = oForm.elements[0]; // This is the index of the element
oFormElement.value = startDate;


如果您必须搜索,则如下所示:

Form = document.forms['bookingform' + fleetID];
var oFormElement;
for (var i = 0, len = oForm.elements.length; i < len; ++i) {
    if (oForm.elements[i].name == "startdate") {
        oFormElement = oForm.elements[i];
        break;
    }
}
if (oFormElement) {
    oFormElement = oForm.elements[0]; // This is the index of the element
    oFormElement.value = startDate;
} else {
    // crash
}

10-07 21:19