zoukankan      html  css  js  c++  java
  • html form提交的几种方式

    一.一个form有多个button提交, html5之前的解决方式

    (1)HTML中定义多个type=submit的button,name相同,value不同

    <form class="" method="get">
                    <div class="row ">
                        <div class="col-1">
                            {{ filterform.ifchuhe|as_crispy_field }}
                        </div>
                        <div class="col-1">
                            {{ filterform.ifanzhi|as_crispy_field }}
                        </div>
                    </div>
                    <input type="submit" class="btn btn-sm btn-primary" name="submit" value="查询"/>
                    <input type="submit" class="btn btn-sm btn-default" name="submit" value="清空条件"/>
                    <input type="submit" class="btn btn-sm btn-primary" name="submit" value="导出数据(excel)"/>
    
                    {% if user.jg.level == '2' %}
                        <input type="button" class=" btn btn-sm btn-primary m-1" value="调整区县" onclick="showModal()"/>
                    {% endif %}
                </form>
    #按钮点下后,提交form用tpye='submit'
    如果不想提交,而是执行js的时,type='button'

    (2)在后台,request.GET或POST去读取name,判断value,调用不同的逻辑

    本例的form用get方法提交

        def get(self, request, *args, **kwargs):
            if request.GET.get('submit') == '查询':           
            elif request.GET.get('submit') == '清空条件':
                return redirect('d3:StudentSearchList')
            elif request.GET.get('submit') == '导出数据(excel)':
               return download_excel_data(request, self.get_queryset())
    

    二、一个button提交多个form

    (1)HTML中定义多个type=submit的button,name相同,value不同

    <input type="button" value="Click Me!" onclick="submitForms()" />

    js这样定义
    #通过id 找form
    submitForms = function(){ document.getElementById("form1").submit(); document.getElementById("form2").submit(); } #通过name找form submitForms = function(){ document.forms["form1"].submit(); document.forms["form2"].submit(); }

     三、html5以后, form提交灵活多了

    <!--原来的写法-->
    <form action="加上地址">
        <button type="submit">提交</button>
    </form>
     
    <!--现在 写法-->
    <form >
        <button type="submit" formaction="第1个按钮的提交地址">btn1</button>
        <button type="submit" formaction="第2个按钮的提交地址">btn2</button>
        <button type="submit" formaction="第3个按钮的提交地址">btn3</button>
    </form>
    <head>
      <title>formmethod属性示例</title>
      <meta charset="UTF-8">
    </head>
    <form id="testform" action="serve.jsp">  
    <!-- 在这个表单中s1,s2都提交到 serve.jsp里--> <input type="submit" name="s1" value="v1" formaction="s1.jsp" formmethod="post">

    <!-- 这个s1 提交到s1.jsp以这种post方式提交-->
    <input type="submit" name="s2" value="v2" formaction="s2.jsp" formmethod="get">
    <!--这个 s2提交到s2.jsp 以这种get方式提交 -->

    <input type="submit"> <!--用系统默认server.jsp的提交--> </form>
    <!DOCTYPE HTML>
    <html>
    <body>
    
    <form action="/example/html5/demo_form.asp" method="get" id="nameform1">
    MYNAME:<input type="text" name="MYNAME" /><br />
    </form>
    
    <form action="/example/html5/demo_form.asp" method="get" id="nameform2">
    YOURBANE:<input type="text" name="YOURBANE" /><br />
    </form>
    
    <p>下面的按钮位于 form 元素之外,但仍是表单的一部分。</p>
    
    <button type="submit" form="nameform1" value="Submit">提交_FORM1</button>
    <button type="submit" form="nameform2" value="Submit">提交_FORM2</button>
    </body>
    </html>

    REFERENCE: https://www.w3school.com.cn/tags/att_button_formaction.asp

    Internet Explorer 9 及更早 IE 版本不支持 formaction  

  • 相关阅读:
    python操作json来存储简单的数据,pickle来操作复杂的数据
    python元组,列表,字典练习
    python文件实现增删改查操作
    socket模拟服务器,客户端下载东西(ftp)
    optiontransferselect标签
    doubleselect标签联动选择框
    datetimepicker标签日期选择器
    combobox标签复合框
    checkboxlist标签多选框组
    使用动态数据的autocomplete标签
  • 原文地址:https://www.cnblogs.com/lxgbky/p/12671239.html
Copyright © 2011-2022 走看看