Javascript Chrome扩展弹出表单中的多个提交按钮
我正在开发一个保存到存储的扩展,如果表单有多个具有相同id的按钮(不是名称,id是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
<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
}