Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用演示的提交按钮_Javascript_Html_Disabled Input - Fatal编程技术网

Javascript 禁用演示的提交按钮

Javascript 禁用演示的提交按钮,javascript,html,disabled-input,Javascript,Html,Disabled Input,我正在尝试禁用演示帐户选项卡式菜单页面的提交按钮。不幸的是,3个菜单选项卡中的每一个都有相同的按钮id—“Mod0EditRecord”。我不能重命名按钮id,也不能改用类,因为它是由在线数据库呈现的 <input type="submit" value="Update" name="Mod0EditRecord" id="Mod0EditRecord"> <input type="submit" value="Update" name="Mod0EditRecord" id=

我正在尝试禁用演示帐户选项卡式菜单页面的提交按钮。不幸的是,3个菜单选项卡中的每一个都有相同的按钮id—“Mod0EditRecord”。我不能重命名按钮id,也不能改用类,因为它是由在线数据库呈现的

<input type="submit" value="Update" name="Mod0EditRecord" id="Mod0EditRecord">
<input type="submit" value="Update" name="Mod0EditRecord" id="Mod0EditRecord">
<input type="submit" value="Update" name="Mod0EditRecord" id="Mod0EditRecord">

我可以成功地将第一个按钮的属性设置为disabled,如下所示

if (login == 'demo.account')
{
document.getElementById('Mod0EditRecord').setAttribute("disabled","disabled");
document.write("<br><p style=\"text-align:left; padding-left:100px; font-size:10px;\">** Update button is disabled for the demo **</p>");
} 
else
{
document.getElementById('Mod0EditRecord').removeAttribute("disabled");
}
if(登录=='demo.account')
{
document.getElementById('Mod0EditRecord').setAttribute(“禁用”、“禁用”);
document.write(“

**演示的更新按钮被禁用**

”; } 其他的 { document.getElementById('Mod0EditRecord')。removeAttribute(“禁用”); }
我正在寻找关于如何设置其他两个属性的指导


提前感谢

您可以使用javascript dom操纵库来遍历HTML节点,并根据需要添加类/更改ID

如果必须特别使用这些属性,那么可以在jQuery中执行类似操作:

$('input[name="Mod0EditRecord"]').eq(0).attr('disabled','disabled') 
//this is the first input, change .eq(index) to the value you need

document.getElementById的返回值应为数组。你可以穿过它们

var elem = document.getElementById('Mod0EditRecord');
    for(var i = 0; i < elem.length; i++)
    {
      elem[i].setAttribute("disabled","disabled");
    }
var elem=document.getElementById('Mod0EditRecord');
对于(变量i=0;i

或者,如果使用jquery,则可以使用.next()方法检索其他两个元素

您不能使用
document.getElementById
,因为这会返回第一个具有该ID的元素。如果您使用的是VanillaJS,我不会使用jQuery,因为仅为该功能下载库是毫无用处的

这就是您要做的:使用
document.getElementsByTagName
获取所有
输入类型
,检查它是否来自
类型提交
禁用

var inputs = document.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++ ) {
    if(inputs[i].type === "submit") {
        var submitbtn = inputs[i];
        submitbtn.setAttribute("disabled", "disabled");
    }
}
var inputs=document.getElementsByTagName('input');
对于(变量i=0;i

.

谢谢你,马可。我同意这是一个轻量级的解决方案。我已经在我的网页上有了Jquery的其他内容。所以我最终使用了Tony的解决方案。但是如果我没有,我更喜欢你的。谢谢Devbinnoh的回复。不幸的是,我认为你的建议行不通,因为getElementById只返回第一个匹配的元素——这是我最初的问题。如果按钮是通过“class”而不是“id”指定的,那么可以使用getElementsByName('Mod0EditRecord')并按照建议获取数组。