编辑表行的Javascript

编辑表行的Javascript,javascript,mysql,edit,Javascript,Mysql,Edit,我需要帮助我的网站的一个功能。我就是不能让剧本发挥作用。 我有这个网站: 如您所见,每行有一个“编辑”按钮。这里的目标是,当用户按下其中一个按钮时,行变得可编辑(主题名称除外),按钮变为“保存”。然后用户可以编辑所有他想要的并保存它。当他单击“保存”时,我通过SQL查询获取所有已更改和更新的字段。 PS:行数未定义,因为用户可以输入任意多的行 所以我在一些脚本中这样想: var button = document.getElementByClassName("clicker"); var but

我需要帮助我的网站的一个功能。我就是不能让剧本发挥作用。 我有这个网站: 如您所见,每行有一个“编辑”按钮。这里的目标是,当用户按下其中一个按钮时,行变得可编辑(主题名称除外),按钮变为“保存”。然后用户可以编辑所有他想要的并保存它。当他单击“保存”时,我通过SQL查询获取所有已更改和更新的字段。 PS:行数未定义,因为用户可以输入任意多的行

所以我在一些脚本中这样想:

var button = document.getElementByClassName("clicker");
var buttonclicked = function(){
    button.textContent = "Save"; //And things get editable};
button.addEventListener("click", buttonclicked);
但是这不起作用,因为var按钮是一个按钮数组,addEventListener不能使用它。。。 我能做些什么来解决这个问题

这是生成表的HTML:(可能有点凌乱)


您可以通过
为循环指定每个按钮:

var buttons = document.getElementsByClassName("clicker");

var buttonclicked = function(e){
    e.target.textContent = "Save"; //And things get editable};

for(var i = 0; i < buttons.length; i++)
{
    buttons[i].addEventListener('click', buttonclicked);
}
var buttons=document.getElementsByClassName(“clicker”);
var buttonclicked=函数(e){
e、 target.textContent=“Save”//然后事情就可以编辑了};
对于(变量i=0;i
还请注意,我正在使用
按钮单击
函数中的
e.target
,而不是
按钮
,这样我们每次都可以得到正确的按钮


e
是保存有关
onclick
事件信息的。如果查看选中的
按钮
变量,您会看到它现在分配了
函数(e)
,而不仅仅是
函数()

给每个按钮一个唯一的id,然后使用
getElemenetById
。给它们编号?我不能这么做,因为正如我所说的,我不知道会有多少个编辑按钮,因为用户可以创建行。我最接近的方法是给按钮一个变量ID,使用php增加一个计数器。但是我不知道如何在脚本的一个函数中调用它们。我将发布生成表格的HTML:你知道,你可以数一数。让页面保持一个运行总数。你可以给每一个新行一个唯一的数字。就像我在这个HTML的最后一个“”中做的那样?那我怎么才能让剧本同时适用于所有人呢?真是太棒了!我试图使用for循环,但我真的不知道哪些行应该在它里面……你能解释一下“e”和“e.target”这两行是什么吗?我对php不是很在行,还没有学会它,这是javascript的一部分。如果查看选中的
按钮
变量,您会看到它现在已分配
函数(e)
,而不仅仅是
函数()
e
是保存有关
onclick
事件信息的。
var buttons = document.getElementsByClassName("clicker");

var buttonclicked = function(e){
    e.target.textContent = "Save"; //And things get editable};

for(var i = 0; i < buttons.length; i++)
{
    buttons[i].addEventListener('click', buttonclicked);
}