我正在尝试获取一个表格单元格,当我们点击它时可以变成文本框,这样我们就可以填充它,然后将文本添加到单元格中。
有我的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显示并获得焦点。我将文本放入其中,然后将textBox和文本放到单元格中。
但是当我第二次点击单元格时,document.getElementById("MainContent_cellConsigne" + numId)
上出现了“引用空错误”。
问题可能来自CSS类还是来自样式的修改?我真的不知道。
答案 0 :(得分:1)
我发现了这个问题!
当我这样做时
document.getElementById("MainContent_cellConsigne" + numId).textContent = this.value;
它将单元格从其中的控件中清空,然后将文本添加到单元格中。所以textBox不再在单元格中了。
我只是在单元格中添加一个标签,然后将textBox中的文本添加到标签中,并且不再清空单元格。