Frendom
Frendom

Reputation: 558

Displaying popup with flask and jquery

on my website after clicking button I want to display new form which will allow users to add opinion. Im not sure in which way I should add jquery script to my project. I tried to it on simple html site and it works, but I couldnt do the same with flask app. Here is my code:

% extends "bootstrap/base.html" %}

{% block content %}

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css">
<script src="http://ajax.googleapis.com ajax/libs/jquery/1/jquery.js"></script>

 <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.js"></script>
 <script type="text/javascript">

$(function () {
  $("#btnclick").click(function () {
    $("#divpopup").dialog({
      title:"Dodaj opinie",
      width: 430,
      height: 200,
      modal:true,
      buttons: {
        Close:
        function(){
          $(this).dialog('close');
        }
      }
    });

  });
})

<div id="divpopup" style="display: none">
Here will be form
</div>

 <button type="button" id="btnclick">Add opinion</button>

{% endblock %}

And after clicking on the button nothing happend. I use bootstrap and jinja2, so should I use other contents to add scripts?

Upvotes: 2

Views: 7903

Answers (1)

Caleb Lawrence
Caleb Lawrence

Reputation: 131

You might consider using a Bootstrap Modal for this as you said you're using Bootstrap in the project.

This is a very simple example copied from their website:

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        INSERT FORM HERE
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

If you're using Bootstrap 4 you should be able to copy this right in and change the IDs to match what you want. Link to documentation: https://getbootstrap.com/docs/4.0/components/modal/

Upvotes: 3

Related Questions