2010-07-16 41 views
1

我有一张HTML表格。我通过使用Javascript来编辑这张表。当用户点击单元格时,它将变为可编辑。这里的问题是,当单元格已经可编辑时,如果用户再次点击单元格...,则会出现一些标签和其他东西。每次点击都会出现新的文本框。HTML中的可编辑表格存在问题

这是如何防止的?

我使用的是以下Javascript代码。

function changeContent(tablecell) 
{ 
    //alert(tablecell.firstChild.nodeValue); 
    tablecell.innerHTML = "<INPUT type=text size=\"6\" name=newname onBlur=\"javascript:submitNewName(this);\" value=\""+tablecell.innerHTML+"\">"; 
    tablecell.firstChild.focus(); 
} 
function submitNewName(textfield) 
{ 
    //alert(textfield.value); 
    textfield.parentNode.innerHTML= textfield.value; 
} 
+0

什么标签和其他东西?我认为你需要在这里更具体。 – 2010-07-16 10:27:12

+0

请编辑您的答案并设置您的代码的格式,从而发布重​​新点击可编辑单元格时出现的元素... – Zuul 2010-07-16 10:33:13

+0

对不起。我想,代码是以正确的格式显示的。修改它。 – Rajkumar 2010-07-16 10:36:19

回答

1

如果新的文本框是每次点击后出现的,你的代码是不是服用了这样的情况:如果单元有一个输入文本框已经,那么就不要继续输入其他HTML的输入文本框当用户点击单元格时。

防止这种情况的一种方法可能是将表格单元格的类设置为changeContent函数末尾的“editable”类名称。然后,如果tablecell.className不是“可编辑的”,则可以使用相同的函数中的代码,该函数仅将输入文本框的HTML放入。

记住您的submitNewName函数,以便在用户完成编辑后删除单元格的“可编辑”类名称。