В JS ниже - я пытаюсь вложить функцию, чтобы мне не пришлось повторять «поле добавления» для каждого поля в форме.Вложенные функции в Javascript
Однако - предупреждение «Трогдор!» отображается только в том случае, если оно помещено до addfield('rcname', 'RC Name');
В результате, инкрементальные значения (i и n) не обновляются, конечно.
Что-то не так с синтаксисом?
function addcameragroup() {
var newcamgroup = document.createElement("div");
newcamgroup.setAttribute("id", "camera-" + i);
var camform = document.getElementById('formtable');
camform.appendChild(newcamgroup);
function addfield(fieldname, fieldtxt) {
var newformrow = document.createElement("div");
newcamgroup.appendChild(newformrow);
newformrow.setAttribute("class", "formrow");
var fieldlabel = document.createElement("label");
newformrow.appendChild(fieldlabel);
fieldlabel.setAttribute("for", fieldname);
fieldlabel.innerHTML(fieldtxt);
}
addfield('rcname', 'RC Name');
alert('Trogdor!');
i++;
n++;
}
Как правило, если код останавливается, вы получаете сообщение об ошибке. Вы видите консольные сообщения? –
@ScottMermelstein это почти единственная возможность здесь –
@ScottMermelstein Да - извините, что я не включил его: 'Uncaught TypeError: Свойство 'innerHTML' объекта # не является функцией Похоже, что, возможно, делать с тем, что полевая метка является ярлыком document.dcreateElement? Но я не знаю, как ссылаться на него по атрибуту «for». –
itamar