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里面,后面的就是视图接收数据,依据不同的的传入参数编写检验函数和发送函数就可以了。
django中使用AJAX时如何获取表单参数(按钮携带参数)的更多相关文章
- Django中三种方式写form表单
除了在html中自己手写form表单外,django还可以通过 继承django.forms.Form 或django.forms.ModelForm两个类来自动生成form表单,下面依次利用三种方式 ...
- JSP SMARTUPLOAD组件:上传文件时同时获取表单参数
原因很简单: 注意更改from 属性啊!否则为null! 因为你用jspsmartuploadsmart时post请求 的格式是multipart/form-data,即enctype="m ...
- ajax:serialize() 获取表单集合
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 学习日记13、ajax同时提交from表单和多个参数
if ($("form").valid()) { $.ajax({ url: "@Url.Action("EditCusAndCusCard")&qu ...
- django中的ajax组件
目录 django中的ajax 向服务器发送请求的途径 Ajax的特点 基于jquery实现的ajax请求 利用ajax实现计算器 利用ajax实现登陆认证 利用form表单进行文件上传 利用ajax ...
- Django中的Ajax详解
AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当 ...
- Django中的Ajax
Ajax 很多时候,我们在网页上请求操作时,不需要刷新页面.实现这种功能的技术就要Ajax!(本人定义,不可迷信) jQuery中的ajax就可以实现不刷新页面就能向后台请求或提交数据的功能,我们仍然 ...
- 快速获取表单多条数据,使用ajax传递给后台
当表单中有多条数据需要向后台传递时,一个一个的获取显然是不可取的办法,可以借助表单的serialize()方法获取. HTML: <form id="form"> &l ...
- PHP 中使用ajax时一些常见错误总结整理
这篇文章主要介绍了PHP 中使用ajax时一些常见错误总结整理的相关资料,需要的朋友可以参考下 PHP作为后端时,前端js使用ajax技术进行相互信息传送时,经常会出错误,对于新手来说有些手足无措.总 ...
随机推荐
- 闲聊一下百度的Unit
这几天在弄一个闲聊的机器人,想起之前的图灵机器人,捣鼓之后,发现用不了,咨询后得知,以前是可以免费使用,一天1000次,后来降到100次,其实也没有那么多人去闲聊,也无所谓,再后来,需要手持身份证实名 ...
- Android Studio 3.0——unable to resolve dependency for cordovalib
Android Studio 3.0 更新了gradle后,项目竟然开始报错unable to resolve dependency for cordovalib...打开build.gradle看了 ...
- CentOS上安装配置RabbitMQ Server
1. 安装Erlang 由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang. curl -s https://packagecloud.io/install/reposito ...
- ELK 部署相关问题汇总
1.启动es-head问题 因为高版本es-head需要单独启动,所以先要安装npm等工具.安装教程见[1] 启动命令:../elasticsearch-head/node_modules/grunt ...
- [Swoole入门到进阶] [公开课] Swoole协程-Swoole4.4.4 提供 WaitGroup 功能
在 Swoole4 中可以使用 channel 实现协程间的通信.依赖管理.协程同步. 简单来说,WaitGroup 就是使用 channel 的机制,让主协程等待所有子协程结束后才退出的功能. Co ...
- 【layui】获取layui弹窗的index并关闭
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 parent.layer.close(index); // 关闭当前laye ...
- ThinkPHP3开发模式,控制器操作,配置文件,框架语法
ThinkPHP的开发模式 tp框架有两种使用模式:开发模式(调试模式),一种是生产模式(运行模式) define('APP_DEBUG', true); //调试模式 define('APP_DE ...
- 验证Prometheus alertmanager邮件发送
新环境上配置alertmanager时出现了“Client was not authenticated to send anonymous mail during MAIL FROM”错误,但老环境上 ...
- linux vi/vim 编辑器学习总结
linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...
- matlab柱状图画法
%%各时段电量需求 clc close all clear all x = [11000 33000 25000 36000 25000 30000 18000]; tick = {'0-6' '6- ...