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里面,后面的就是视图接收数据,依据不同的的传入参数编写检验函数和发送函数就可以了。

  • 相关阅读:
    flash中网页跳转总结
    as3自定义事件
    mouseChildren启示
    flash拖动条移出flash无法拖动
    需要一个策略文件,但在加载此媒体时未设置checkPolicyFile标志
    Teach Yourself SQL in 10 Minutes
    电子书本地转换软件 Calibre
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes – Page 31 练习
  • 原文地址:https://www.cnblogs.com/zzy0306/p/8892107.html
Copyright © 2011-2022 走看看