Javascript Chrome扩展弹出表单中的多个提交按钮

Javascript Chrome扩展弹出表单中的多个提交按钮,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在开发一个保存到存储的扩展,如果表单有多个具有相同id的按钮(不是名称,id是chrome扩展的标识符),我的检查将不起作用 <tr> <td colspan="2"> <input type="Submit" value="Add" id="action" name="action" style="width: 100%" /></td> </tr> <tr> <td colspan="2

我正在开发一个保存到存储的扩展,如果表单有多个具有相同id的按钮(不是名称,id是chrome扩展的标识符),我的检查将不起作用

<tr>
  <td colspan="2">
   <input type="Submit" value="Add" id="action" name="action" style="width: 100%" /></td>
 </tr>    
<tr>
  <td colspan="2">
  <input type="Submit" value="Edit" id="action" name="action" style="width: 100%" /></td>
</tr>
我的意图是像这样使用它

function manageItem() {
    if (action.value=='Add') {
        ...
    } else if (action.value='Edit') {
        ...
    }
}
如果我只有一个带有id操作的按钮,这就可以了。如果我有多个按钮,这根本不起作用

例如,当浏览器提交到服务器端脚本时,只有单击的submit按钮才会发送其值,因此这种情况下可以使用它(例如)

我试着以自己的形式测试每一行,但当两个元素具有相同的ID时,我仍然会遇到冲突。我能做什么


编辑:我以为我的问题中包含了我知道id不能重复的内容,但我没有明确地说。我知道在格式良好的html中,id不能重复,但我不知道如何才能做到这一点。

你应该使用
class=“action”
而不是
id=“action”
id
不能重复

还有一个输入错误:将
if(action.value='Edit'){
替换为
if(action.value='Edit'){

在当前的html中,您实际上不需要ID或类(但仍然需要名称)-您可以删除这些属性,

function manageItem() {
    if (action.value=='Add') {
        ...
    } else if (action.value='Edit') {
        ...
    }
}
要区分按钮,只需使用以下按钮:

document.getElementsByName("action")[0].onclick=function(){
    //first button clicked
}

document.getElementsByName("action")[1].onclick=function(){
    //second button clicked
}

好的,谢谢。但如果,例如,我有两个提交使用同一个类,我如何使用纯javascript来获取单击按钮的值呢?@cfqueryparam您以前是怎么做的?js中定义了
action
在哪里?如果我有两个id相同的按钮(我知道这是格式不正确的html),我还没有做到这一点.action是我的提交按钮的名称/id。我将尝试此操作并让您知道,谢谢您的帮助。
function manageItem() {
    if (action.value=='Add') {
        ...
    } else if (action.value='Edit') {
        ...
    }
}
document.getElementsByName("action")[0].onclick=function(){
    //first button clicked
}

document.getElementsByName("action")[1].onclick=function(){
    //second button clicked
}