1
我試圖獲得一個表格單元格,當我們點擊它時可以變成文本框,以便我們可以填充它,然後將文本添加到單元格中。Javascript getElementbyId工作一次,但不是兩次?
還有就是我的JavaScript函數:
$(".cellConsigne").click(function() {
var numId = this.id.substring(24);
document.getElementById("MainContent_txtConsigne" + numId).style.display = "block";
document.getElementById("MainContent_txtConsigne" + numId).focus();
});
$(".txtTab").focusout(function() {
var numId = this.id.substring(23);
document.getElementById("MainContent_cellConsigne" + numId).textContent = this.value;
this.style.display = "none";
});
和我的細胞的聲明,並在C#代碼的文本框後面:
TableCell cell17 = new TableCell();
cell17.ID = "cellConsigne" + i.ToString();
cell17.CssClass = "cellConsigne";
TextBox txtConsignes = new TextBox();
txtConsignes.ID = "txtConsigne" + i.ToString();
txtConsignes.CssClass = "txtTab";
txtConsignes.BackColor = row.BackColor;
cell17.Controls.Add(txtConsignes);
所以問題是,這項工作很好的第一次,我點擊,textBox顯示並獲得焦點。我把它的文本,然後離開文本框和文本去單元格。 但是當我第二次單擊單元格時,我在document.getElementById("MainContent_cellConsigne" + numId)
上收到了「引用空錯誤」。
問題可以來自CSS類還是來自風格的修改?我真的不知道。
如果你正在使用jQuery,你應該堅持下去。不使用'getElementById'將會是一個好開始 – CodingIntrigue
學會調試。在行後面加上'console.log(numId);'看看你有什麼。我敢打賭,這會告訴你錯誤。 – epascarello
此外,您應該從'getElementById' DOM查詢保存對象,並且不要執行此操作兩次。 – timmkrause