以下のJSでは、フォームの各フィールドに対して「フィールドの追加」を繰り返す必要がないように、関数をネストしようとしています。
ただし - アラート「Trogdor!」前に配置されている場合にのみ表示されます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++;
}