popup(弹出界面)

1. 立即执行函数是什么?也就是匿名函数

立即执行函数就是

  1. 声明一个匿名函数
  2. 马上调用这个匿名函数

 

2、popup的举例

点击,弹出一个新的窗口。保存完事,页面不刷新数据就返回了。(点击admin的+,弹出的框就是用popup来做的)

具体操作步骤:

1、urls.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', views.index),
    url(r'^pop/', views.pop),
]

2、views.py

复制代码
def index(request):
    return render(request,"index.html")

def pop(request):
    if request.method=="GET":
        return render(request,"pop.html")
    else:
        user = request.POST.get("user")
        print(user)
        return render(request,"pop_response.html",{"user":user})
复制代码

3、templaates

index.html

复制代码
<body>
<h1 id = "a">无所谓</h1>
<a href="#" onclick=popUp("http://www.baidu.com")>点我点我</a>
<script>
        function xxxpopupCallback(text) {
            document.getElementById('a').innerHTML = text;   //找到标签吧值替换成用户传进来的值
        }
        function popUp(url) {
            window.open( '/pop/', "n1","status=1, height:500, 600, toolbar=0, resizeable=0");
{#            window.open( url, "n1","status=1, height:500, 600, toolbar=0, resizeable=0");#}
        }


分析:
  index页面的第一个参数就是url,写什么路径就看到什么页面
  n1:弹出窗口的名字,定死了就弹出一个
  '/pop/','/pop/' 一个url弹出一个
  如果有两个+最多弹出两个框

</script>
</body>
复制代码

pop.html

复制代码
<body>
<form action="" method="post">
    {% csrf_token %}
    <input type="text" name="user">
    <input type="submit" value="提交">
</form>
</body>
复制代码

pop_response.html

复制代码
<h1>正在关闭</h1>
<script>
      (function () {
            // 可以调用popup原页面的一个函数,
            opener.xxxpopupCallback("{{ user }}");    xxxpopupCallback是自定义的函数
            window.close();  //传完数据之后自动关闭
        })()

</script>

注: This page is from https://www.cnblogs.com/xiaohema/p/8455548.html

原文地址:https://www.cnblogs.com/128lian/p/9943810.html