Я использую фреймворк Flask для создания системы поиска информации.
Я пытаюсь вызвать всплывающее окно div, когда я нажимаю на имя. Прямо сейчас я просматриваю список имен и выводю их рядом друг с другом в виде кнопок. Но когда я нажимаю кнопку, я хочу, чтобы с этой кнопки открывался div. Однако каждый раз, когда я нажимаю на кнопку, страница обновляется и удаляются все выведенные мной имена. Сейчас функция myDiv даже не вызывается. Как я могу заставить div отображаться под кнопкой, которую я нажимаю, не удаляя все остальные выходные данные?
// actions.js
function myDiv(name) {
var x = document.getElementById(tag);
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}<form class = "form-inline" action = "">
{% if output %}
<h2>Top names to use</h2>
{% for name in output %}
<div class = "output-container">
<button onclick = "myDiv({{name}})" id = {{name}} class = "btn btn-info">{{name}}</button>
</div>
{% endfor %}
{% endif %}
</form>
<script type = "text/javascript" src = "/static/js/actions.js"></script>


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


По умолчанию тип button - submit. Вы должны неявно изменить это на button:
<button type = "button" onclick = "myDiv({{name}})" id = {{name}} class = "btn btn-info">{{name}}</button>
тип кнопки вашей кнопки необходимо установить кнопку
// action.js
function myDiv(name) {
var x = document.getElementById(tag);
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}<form class = "form-inline" action = "">
{% if output %}
<h2>Top names to use</h2>
{% for name in output %}
<div class = "output-container">
<button type = "button" onclick = "myDiv({{name}})" id = {{name}} class = "btn btn-info">{{name}}</button>
</div>
{% endfor %}
{% endif %}
</form>
<script type = "text/javascript" src = "/static/js/actions.js"></script>Используйте JQuery bro. Если вы хотите узнать больше о JQuery здесь - https://jquery.com/
И решение через JQuery довольно простое.
$("#your_button_id").click(function(){
$("#your_div_id").hide();
$("#your_div_id").show();
/*Whatever you want to do you can do here.*/
})
Надеюсь, это было полезно.