popup介绍

一、作用

用于使浏览器自动生成弹窗

二、示例

1、新建Django项目,新建APP:app01, 项目根目录下新建文件夹static

2、静态文件配置,在settings.py中配置static:

3、路由配置, urls.py:

from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index),
    path('add/city/', views.add_city),
]
View Code

4、编写view函数,views.py:

from django.shortcuts import render, HttpResponse


def index(request):
    """首页"""
    return render(request, "index.html", locals())


def add_city(request):
    """添加城市"""

    if request.method == "POST":
        # 获取数据  存入数据库
        # ........
        city_info = {"id": 5, "city": "成都"}
        return render(request, "pop-response.html", locals())  # 新建完成后自动关闭窗口
    return render(request, "add_city.html")
View Code

5、templates模板编写:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form>
    <p><input type="text"></p>
    <p>
        <select id="city">
            <option value=1>北京</option>
            <option value=2>天津</option>
            <option value=3>上海</option>
            <option value=4>深圳</option>
        </select>
        <input type="button" value="+" οnclick="popUp();">
    </p>
</form>

<script>
    function func(cityId, cityTitle){
        //构造一个option标签
        var tag = document.createElement("option");
        tag.value = cityId;
        tag.innerText = cityTitle;
        //找到select框  将option添加进去
        var city = document.getElementById("city");
        city.appendChild(tag);
    }

    function popUp() {
        //打开新弹窗  (弹窗地址,弹窗名, 弹窗格式设置)
        window.open("/add/city/", "x1", "status=1, height=500, width=500, toolbar=0, resizeable=0");

    }
</script>
</body>
</html>
View Code

add_city.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box {
            width: 200px;
            height: 200px;
            border: 1px solid dodgerblue;
        }
    </style>
</head>
<body>
<h3>新建城市</h3>
<div class="box">
    <form method="post">
        {% csrf_token %}
        <input type="text" name="city">
        <input type="submit" value="提交">
    </form>
</div>
</body>
</html>
View Code

pop-response.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>正在关闭</title>
</head>
<body>

<script src="/static/commons.js"></script>
{#引入文件,里面的'{{ id }}'不会被识别,就只是把它当做普通的字符串打印出来#}

<script>

    //function close(){
        //window.close();
    //}
    //close();

    // 自执行函数   在写完函数后, 后面直接加括号便可以执行,括号内可以传递参数, 执行效果同上
    (function(){
        // 获取到是谁把这个页面打开的
        opener.func({{ id }}, "{{ city }}"); //传递参数 {"id": 5, "city": "成都"}

        window.close();
    })();

    // 可以传参:
    //(function(arg){

    //})("x1")  // arg=x1
</script>
</body>
</html>
View Code

6、static文件夹下新建文件commons.js:

alert('{{id}}');  //在pop-response.html中引入它
View Code

7、启动项目,在浏览器输入:http://127.0.0.1:8088/index/进入首页,点击按钮弹出新窗口,新增城市,提交后窗口自动关闭

 

转载于:https://www.cnblogs.com/yanlin-10/p/9671367.html

jQuery是一种重要的JavaScript库,它提供了许多强大的功能,其中之一是popup画面。popup画面是指在网页中弹出一个新的浮动窗口,通常用于显示更多的信息、进行用户操作或者提示用户。下面我将简单介绍一下如何使用jQuery来创建popup画面。 首先,需要在网页中包含jQuery库的引用,通过在<head>标签中添加以下代码实现: <script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script> 然后,在HTML中添加触发popup画面的元素,可以是一个按钮、一个链接或者其他任何需要触发popup的元素。例如,我们可以创建一个按钮来触发popup画面: <button id="popupButton">点击显示popup画面</button> 接下来,在JavaScript中编写jQuery代码来实现popup画面。首先,我们需要为按钮添加一个点击事件,当按钮被点击时,显示popup画面。代码如下: $(document).ready(function(){ $("#popupButton").click(function(){ // 显示popup画面的代码 }); }); 在以上代码中,$(document).ready()是用来在文档加载完成后执行代码的函数。$("#popupButton")是用来选取ID为"popupButton"的元素,.click()是用来添加点击事件的函数。 最后,我们需要在点击事件的处理函数中编写代码来显示popup画面。这可以通过使用jQuery的弹出窗口插件、CSS样式和动画效果来实现。以下是一个简单的示例代码: $(document).ready(function(){ $("#popupButton").click(function(){ $("#popup").show(); // 显示popup画面 }); }); 在以上代码中,$("#popup")选取ID为"popup"的元素,并使用.show()函数来显示该元素。 当用户点击触发popup的元素时,popup画面将显示在网页中,用户可以在该画面中查看更多信息、进行操作或者关闭popup。 总结一下,通过使用jQuery库和简单的JavaScript代码,我们可以很容易地实现popup画面。通过添加点击事件和使用合适的弹出窗口插件、CSS样式和动画效果,我们可以为用户提供一个更加友好和交互性强的用户界面体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值