Отключить кнопку Отправить для демонстрации

Я пытаюсь отключить кнопку "Отправить" на странице меню с вкладками для демо-счета. К сожалению, каждая из 3 вкладок меню имеет одинаковый идентификатор кнопки - "Mod0EditRecord". Я не могу переименовать идентификатор кнопки и не могу использовать класс вместо этого, поскольку он отображается в онлайн-базе данных.

<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">

Я могу успешно установить атрибут первой кнопки на отключен следующим образом

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");
}

Я ищу руководство о том, как установить атрибут для двух других.

заранее спасибо

3 ответа

Вы можете использовать библиотеку javascript dom, например jQuery, для обхода узлов HTML и добавления идентификаторов классов / изменений по своему усмотрению.

Если вам нужно придерживаться этих атрибутов, в частности, вы можете сделать что-то вроде этого в 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");
    }

Или, если вы используете jquery, вы можете использовать метод.next() для получения двух других элементов.

Вы не можете использовать document.getElementById, так как это возвращает первый элемент с этим идентификатором. Я бы не стал использовать jQuery, если вы используете VanillaJS, поскольку загрузка библиотеки только для этой функции довольно бесполезна.

Это то, что вы идете делать: использовать document.getElementsByTagName чтобы получить все input-типы, проверьте, если это из type submit а также disable тот.

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");
    }
}

JSFiddle.

Другие вопросы по тегам