Передача аргумента скрипту в HTML

200
12 октября 2018, 17:50

Есть поле ввода кода и кнопка Добавить. Кнопка берет значение с поля ввода, а как сделать так, чтобы отдельная кнопка передавала свое значение? Т.е. пользователь вводит код курса и добавляет его к себе. А как сделать кнопку, которая добавит определенный курс?

Вот поле ввода кода:

<div class="input-group">
      <input type="text" id="group-id" class="form-control" placeholder="Введите сюда код класса. Например: 182967">
      <span class="input-group-btn">
        <button class="btn btn-default" type="button" onclick="groupsAdd()">Добавить</button>
      </span>
    </div>

А вот скрипт выполнения:

function groupsAdd(gid){
    var gid = trim($('#group-id').val());
        $.ajax({
            type:'post',
            url:'/func_student.php',
            dataType:'json',
            data:{'action':'groupsAdd','gid':gid,'user_id':user_id},
            success:function(j){
                var r = j['r'];
                if (r != 200){
                    var txt = '';
                    if (r == 1) txt = "Вы неверно ввели код группы";
                    else if (r == 2) txt = 'Вы уже состоите в этой группе';
                    swal({
                        title: "",
                        text: txt,
                        type: "error"
                    });
                } else {
                    window.location.href='';
                }
            }
        });
}

Вот что я хочу исправить:

<button class="btn btn-default" type="button" id="group_id" value="1481472" onclick="groupsAdd()" >Пробный урок</button>
Answer 1

Как вариант- использование data-атрибутов, если у вас у курса id=45 к примеру, то будет так:

$('.data').click(function(){ 
  console.log($(this).attr('data-id')); 
}); 
 
$('.value').click(function(){ 
  console.log($(this).attr('value')); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<button class='data' data-id='45'>Курс №45</button> 
<button class='data' data-id='4'>Курс №4</button> 
 
<button class='value' value='45'>Курс №45 по value</button> 
<button class='value' value='4'>Курс №4 по value</button>

Answer 2

Я попробовал передать аргумент через скрытое поле ввода.

    <input type="hidden" value="123" id="group-id">
<button class="btn btn-default" align="center" type="button" onclick="groupsAdd()">Пробный урок</button>

это не потребовало никаких изменений в другой части кода.

READ ALSO
Обернуть каждое слово в тег

Обернуть каждое слово в тег

Возможно ли обернуть каждое слово по отдельности в тег ? На примере текста : Cras ultricies ligula sed magna dictum porta только что бы каждое слово было по отдельности...

180
Не могу разбить блок &lt;div&gt; на две равных части для моего контента

Не могу разбить блок <div> на две равных части для моего контента

Верстаю блок в котором нужно 2 блокаПервый для полей регистрации, второй для картинки

156
При загрузке страницы скрипт ведет себя по-разному

При загрузке страницы скрипт ведет себя по-разному

Есть скрипт, который должен имитировать background-size: cover при работе с img в произвольном блокеСкрипт высчитывает соотношение сторон блока-обертки...

176
Magnific-popup не работает на одной странице

Magnific-popup не работает на одной странице

На сайте 4 страницы идентичны, а главная отличается, вот на ней и не работает magnific-popup, на странице форму не скрывает, при клике не отображаетНа...

161