поэтому я хочу получить конкретное значение, если кнопка нажата в моей форме, но каким-то образом она прослушивает все кнопки, а не только кнопки в моей форме.
Вместо приведенного ниже примера javascript я также попытался вызвать класс с помощью
$('.modifygap').bind('click', function (e) {
но в этом примере значение не было установлено правильно.
Вот мой html:
<button type = "button" id = "anotherbutton">Another</button>
<form action = "editortoken_information" id = "showtoken" method = "POST">
<button class = "btn btn-outline-secondary" type = "submit" name = "modifygap" id = "modifygap" class = "modifygap"
value = "14" data-value = "test">14</button>
<button class = "btn btn-outline-secondary" type = "submit" name = "modifygap" id = "modifygap" class = "modifygap"
value = "15" data-value = "test">15</button>
</form>
И вот моя функция javascript:
$(document.getElementById("showtoken")).ready(function () {
$("button").click(function (e) {
e.preventDefault();
document.getElementById('tokenindex').value = this.getAttribute("data-value");
})
})
Я думал, что прослушивая только конкретный идентификатор, он будет обнаруживать только нажатия кнопок в форме. Но почему-то он прослушивает все нажатия кнопок.
ID должен быть уникальным
У вас должен быть только один атрибут class
есть ли проблема, если у меня есть кнопки с одинаковым идентификатором, и я действительно не называю их по идентификатору, или я могу просто не определять идентификатор для каждой кнопки?
У вас должен быть уникальный id



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Используйте event.target.value, чтобы получить значение выбранного элемента.
$(document).ready(() => {
$('.modifygap').bind('click', function (e) {
console.info('e', e.target.getAttribute("data-value"))
});
})<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type = "button" id = "anotherbutton">Another</button>
<button class = "btn btn-outline-secondary modifygap" type = "submit" name = "modifygap" id = "modifygap"
value = "14" data-value = "test14">14</button>
<button class = "btn btn-outline-secondary modifygap" type = "submit" name = "modifygap" id = "modifygap"
value = "15" data-value = "test15">15</button>
Два элемента не могут иметь одинаковый идентификатор,
id = "modifygap"— дважды