在第二個輸入框輸入完畢按下 Enter 後會呼叫 addList() 新增一列,但焦點總是跳回第一列的 weight 輸入框,而不是新增列的欄位。
程式中所有 weight 輸入框使用相同的 id="weight",HTML 中 id 必須唯一。document.getElementById("weight") 永遠只會回傳第一個匹配元素。
id,改用 class 或 name 區別。setfocus() 中透過 DOM 關係找到新增列的第一個輸入框。function setfocus(ipt) {
var tr = ipt.parentNode.parentNode;
var ipts = tr.getElementsByTagName('input');
ipts[0].focus();
}
// 在 onkeydown 中呼叫
onkeydown="if(event.keyCode==13) {addList(); setfocus(this); return false; }"