Идентификация конкретной кнопки в форме

поэтому я хочу получить конкретное значение, если кнопка нажата в моей форме, но каким-то образом она прослушивает все кнопки, а не только кнопки в моей форме.

Вместо приведенного ниже примера 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 = "modifygap" — дважды

Shubh 10.02.2019 18:57

ID должен быть уникальным

BambiOurLord 10.02.2019 18:58

У вас должен быть только один атрибут class

Kuldeep Bhimte 10.02.2019 19:06

есть ли проблема, если у меня есть кнопки с одинаковым идентификатором, и я действительно не называю их по идентификатору, или я могу просто не определять идентификатор для каждой кнопки?

Noobfor 10.02.2019 19:26

У вас должен быть уникальный id

Kuldeep Bhimte 10.02.2019 19:39
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
5
24
1

Ответы 1

Используйте 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>

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