Javascript 禁用演示的提交按钮
我正在尝试禁用演示帐户选项卡式菜单页面的提交按钮。不幸的是,3个菜单选项卡中的每一个都有相同的按钮id—“Mod0EditRecord”。我不能重命名按钮id,也不能改用类,因为它是由在线数据库呈现的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=
<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')并按照建议获取数组。