zoukankan      html  css  js  c++  java
  • django中使用AJAX时如何获取表单参数(按钮携带参数)

    前提是函数和相应的视图路由都已经配置好了,然后就是表单了:

    <form  id="SmsForm" method="post" class="a">
                {% csrf_token %}
                <div class="">
                    <input class="" name="name" id="name" type="text" placeholder="请输入用户名">
                </div>
                <div class="form-group">
                    <input type="text" onfocus="(this.type='time')" id="pick_time" name="time" placeholder="请输入时间" >
                </div>
                <div class="form-group">
                    <input class="" name="addr1" id="addr1" type="text" placeholder="请输入地址1">
                </div>
                <div class="form-group">
                    <input class="" name="addr2" id="addr2" type="text" placeholder="请输入地址2">
                </div>
                <div class="form-group">
                    <input class="form-control" name="tel" id="tel" type="text" placeholder="请输入电话">
                </div>
                <input class="b" type="button" value="预览短信" onclick="send_sms('check')"/>
    
                <input class="b" type="button" value="发送短信" onclick="send_sms('send')"/>
    
            </form>
        <script src="/static/js/jquery.min.js"></script>
    <script>
        $('#pick_time').blur(function(){
        var obj = $(this);
        if(!obj.val()){
            obj.prop('type','text');
        }
    });
    
    function  send_sms(work_operation) {
        var data={};
            data['status'] = work_operation;
        var params = $('#SmsForm').serializeArray();
        for (x in params){
            data[params[x].name] = params[x].value;
        }
        $.ajax({
            type:"POST",
            url: "{% url 'managing:get_sms_message' %}",
            data: data,
            dataType: "json",
            success: function (response) {
                document.getElementById("get_sms_message").textContent = response.message;
            },
            error: function (rs, e) {
                alert(rs.responseText);
            }
        });
    }
    </script>

    首先生成一个data字典,然后将参数作为窗台传入字典当中,接着将表单的数据传到一个params的变量里面,这个方法我也是在网上找的,大概的意思应该是将表单数据以数组的形式序列化,然后就是遍历params这个变量,依次将表单数据传入data,最后将data放到POST的data里面,后面的就是视图接收数据,依据不同的的传入参数编写检验函数和发送函数就可以了。

  • 相关阅读:
    c++命名规范与代码风格
    subline的多行游标快捷键
    selenium中的action
    Fiddler 教程(转)
    java.util.NoSuchElementException解决办法
    http协议中的URI
    深入研究java.lang.Runtime类(转)
    深入研究java.lang.Process类(转)
    java调用autoit3脚本
    AutoIT转
  • 原文地址:https://www.cnblogs.com/zzy0306/p/8892107.html
Copyright © 2011-2022 走看看