Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622

Как передать параметр из jsp java страницы в функцию javascript и возвратить обратно другой параметр

21.08.2018, 13:11. Показов 6822. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На jsp странице имеется динамически формируемая таблица с чекбоксами в первой колонке каждой строки
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<tbody>
            <c:forEach items="${students}" var="student">
                <tr>
                    <th scope="col">
                        <div class="checkbox">
                            <input type="checkbox" id="${student.id}" onclick="myFunction()">
                        </div>
                    </th>
        ..... 
                   <td>
                        <a class="btn btn-primary disabled" href="#" role="button">Edit</a> &nbsp
                        <a class="btn btn-primary disabled" href="#" role="button">Add Mark</a>
                        <p id="text" style="display:none">Checkbox is CHECKED!</p>
                    </td>
                </tr>
            </c:forEach>
            </tbody>
В последней колонке имеются кнопки Edit и Add Mark в неактивном состоянии.
Задача состоит в том чтобы при выборе чекбокса в какой-либо строке в этой строке кнопки Edit и Add Mark перевести в активное состояние.
Для начала зацепился за такой код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script language="javascript">
    function myFunction() {
        var mum = 2;
        // Get the checkbox
        var checkBox = document.getElementById(mum.toString());
        // Get the output text
        var text = document.getElementById("text");
 
        // If the checkbox is checked, display the output text
        if (checkBox.checked == true){
            text.style.display = "block";
        } else {
            text.style.display = "none";
        }
    } </script>
Но на этом все и стало.
Подскажите пожалуйста в нескольких словах как это делается. Как можно обмениваться переменным между java и javascript?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.08.2018, 13:11
Ответы с готовыми решениями:

Как передать данные JavaScript в GET параметр PHP?
в странице есть список сотрудников компании. при клике на определенного сотрудника выходит модальное окно с оценкой качества его работы и...

Как в функцию передать параметр строку?
&lt;script&gt; function loadXMLDoc(&quot;ПАРАМЕТР СТРОКА&quot;) { // &quot;ПАРАМЕТР СТРОКА&quot; var xmlhttp; if (window.XMLHttpRequest) {// code...

Как передать параметр в функцию, саму являющуюся параметром?
например, в setTimeout.

7
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
21.08.2018, 13:51
Попробуйте так:
JavaScript
1
2
3
$('table input[type="checkbox"]').on('change', function() {
  $(this).closest('tr').find('.btn').toggle('disabled');
});
Требуется подключение jQuery.
1
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
21.08.2018, 14:34  [ТС]
Спасибо.
Классно. Только бутоны при выборе чекбокса совсем исчезают.
Изначально они находятся в неактивном состоянии (disabled в class="btn btn-primary disabled")
HTML5
1
<a class="btn btn-primary disabled" href="#" role="button">Edit</a>
Я так понимаю, что нужно в строке class="btn btn-primary disabled" убрать только disabled и бутоны станут активными.
Как это сделать?
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
21.08.2018, 15:12
Цитата Сообщение от VlGuvin Посмотреть сообщение
Я так понимаю, что нужно в строке class="btn btn-primary disabled" убрать только disabled и бутоны станут активными.
Как это сделать?
Код выше именно это и делает. Просто добавляет/удаляет класс disabled. Возможно где-то в вашем CSS или движке прописано скрывать элементы a.disabled
0
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
21.08.2018, 16:06  [ТС]
В качестве CSS используется bootstrap 4.
Он правильно работает только когда все прописывается в одной строке класса.
HTML5
1
<a class="btn btn-primary disabled" href="#" role="button">Edit</a>
Он будет правильно работать если
HTML5
1
class="btn btn-primary disabled"
полностью заменить на
HTML5
1
class="btn btn-primary"
Добавлено через 10 минут
Искал по bootstrap.css a.disabled. Не находит..

Добавлено через 12 минут
Вроде все правильно
.toggleClass( className )

className

Тип: Строка

Добавляет или удаляет заданный в className класс(ы). Если классов несколько, то в строке className они должны быть разделены пробелами.
Странно, почему исчезают бутоны..
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
21.08.2018, 16:16
JavaScript
1
2
3
$('table input[type="checkbox"]').on('change', function() {
  $(this).closest('tr').find('.btn').toggleClass('disabled');
});
Добавлено через 1 минуту
Ошибка в моём коде конечно же
1
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
21.08.2018, 16:41  [ТС]
Спасибо. Работает. Это я невнимателен...
0
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
22.08.2018, 11:10  [ТС]
В продолжение темы про передачу параметров пытаюсь сделать модальное окно на базе bootstrap примерно так

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<html>
<head>
    <title>Title</title>
    <!-- Bootstrap core CSS -->
    <link href="<c:url value="../resources/css/bootstrap.css" />" rel="stylesheet">
 
    <script src="../resources/js/jquery-1.11.3.min.js"></script>
 
    <script src="../resources/js/bootstrap.min.js"></script>
 
</head>
 
<form:form >
 
<div id="myModal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Edit user</h4>
            </div>
            <div class="modal-body">
                <form class="form-horizontal" role="form">
                    <div class="form-group">
                        <label class="col-sm-3 control-label" for="firstNameInput">First name</label>
                        <div class="col-sm-9">
                            <input type="text" class="form-control" id="firstNameInput" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label" for="lastNameInput">Last name</label>
                        <div class="col-sm-9">
                            <input type="text" class="form-control" id="lastNameInput" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label" for="emailInput">E-mail</label>
                        <div class="col-sm-9">
                            <input type="email" class="form-control" id="emailInput" />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-offset-3 col-sm-10">
                            <button type="submit" class="btn btn-default">Save</button>
                        </div>
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>
</form:form>
<table class="table table-hover">
    <thead>
    <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>Email</th>
        <th></th>
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    </tr>
    </thead>
    <tbody>
   
    <c:forEach items="${students}" var="student">
        <tr id="user-${student.id}">
            <td>${student.firstName}</td>
            <td>${student.lastName}</td>
            <td>
                <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" data-user-id="${student.id}">Edit</button>
            </td>
        </tr>
    </c:forEach>
    </tbody>
</table>
 
 
<script>
    $("#myModal").on('show.bs.modal', function(e) {
        var userId = $(e.relatedTarget).data('user-id');
 
        var cols = $('#user-' + userId + ' td');
        var firstName = $(cols[0]).text();
        var lastName = $(cols[1]).text();
 
        $('#firstNameInput').val(firstName);
        $('#lastNameInput').val(lastName);
        $('#emailInput').val(mail);
    });
 
    $("#myModal").on('hidden.bs.modal', function() {
        var form = $(this).find('form');
        form[0].reset();
    });
</script>
 
 
</body>
</html>
Данная страница открывается из Spring java и выводит таблицу со списком студентов в каждой строке имеется кнопка Edit
Цель состоит в том, чтобы при нажатии на кнопку выскочило модольное окно с формой.
Для этого применен код с javascript
Но модальное окно никак не хочет выскакивать.
Подскажите пожалуйста в чем ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.08.2018, 11:10
Помогаю со студенческими работами здесь

Как передать в функцию параметр объекта hr (линия) для её прорисовки
Здравствуйте! Подскажите пожалуйста как мне передать в мою функцию параметр объекта hr (линия) для её прорисовки, чтобы запуская ...

Передать параметр функции javascript в формате Json
Здравствуйте. Запутался с кавычками. Есть виджет, который выводит на карту (яндекс) объекты. при выборе - открывается балун. В балуне...

Не получается передать параметр в функцию
Подскажите, пожалуйста, хочу сделать так чтобы при наджатии кнопки фон страницы изменялся, но не получается передать параметр в функцию...

Как передать параметр javascript контроллеру и обратно
Только начал изучать asp.net. Пытаюсь сделать простейшую вещь: Хочу определить объект javascript: Temp= { a:2, b:5 } И передать...

Можно ли передать указатель на функцию как параметр другой функции?
В общем, вопрос. Можно ли, допустим ... int fun1(int x) { ... ... ... return x*1000; }


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru