form表单提交

【译】使用FormData对象

狂风中的少年 提交于 2020-01-21 00:33:40
系列文章说明 原文 FormData 对象能让你生成一系列用于 XMLHttpRequest 发送的键值对。它主要的目的在于发送表单数据,但也能独立用于传输有键形式的数据。其传输的数据格式和表单使用 submit() 方法、且编码类型为 multipart/form-data 所发送的数据格式相同。 从头开始创建一个FormData对象 你可以自己建立一个FormData对象,首先进行实例化、再通过 apppend() 方法来添加字段,如下所示: var formData = new FormData(); formData.append("username", "Groucho"); formData.append("accountnum", 123456); // 数字123456会自动转为字符串"123456" // 用户选择的HTML的文件提交 formData.append("userfile", fileInputElement.files[0]); // JavaScript的类文件对象(Blob) var content = '<a id="a"><b id="b">hey!</b></a>'; // 新文件的主体 var blob = new Blob([content], { type: "text/xml"}); formData.append(

DAY03

廉价感情. 提交于 2020-01-20 08:28:16
八.结构标记 h5新出的标记.作用是取代div描述整个网页的结构,增加代码的可读性,和div的作用一模一样,只是增加了可读性 1 < header>< /header> 头部 2 < footer>< /footer> 脚部 3 < nav>< /nav> 导航栏 4 < section>< /section> 主体内容 5 < aside>< /aside>侧边栏 6 < article></ article> 定义与文字相关的内容(论坛,回帖,评论等) 九.form表单(***) 1 作用 (1)提供可视化的输入控件 (2)收集机用户输入的信息,并提交给服务器 注意:ajax可以提交请求,可以接收请求 使用form就不用form 不用form就需要手动收集信息 2 form的组成 (1)< form> < /form> 属性: ①action —定义表单提交时发送的动作(发送给哪个URL) 默认缺省提交给本页面 ②method —定义表单的提交方式 默认缺省是http原生的"get"方法:特点:明文提交,内容在地址栏显示,提交的数据有大小限制(2kb),使用时机—向服务器要数据的时候 第二种http原生的post方法 特点①隐式提交,提交的内容不在地址栏显示②post提交的数据没有大小限制 ③其他原生 ③enctype —指定表单提交的数据的编码方式

Django 进阶篇之 Form验证

旧巷老猫 提交于 2020-01-19 05:59:39
Django Form验证 在实际的生产环境中比如登录和验证的时候,我们一般都使用Jquery+ajax来判断用户的输入是否为空,假如JS被禁用的话,咱们这个认证屏障是不是就消失了呢?(虽然一般不会禁用掉但是还是存在风险)所以我们一般做两种认证一种是前端做一遍认证,在后端做一遍认证。 如果前端中要涉及到很多input,提交到后台,后台要一一取出,分别做验证,这是件很痛苦的事。 def register(request): if request.method == "POST": ret = {"status":False,"msg":""} u = request.POST.get('user',None) e = request.POST.get('email',None) p = request.POST.get('password',None) p2 = request.POST.get('password2',None) #这里有个问题,如果,这个from表单有20个input,你在这里是不是的取20次? count = models.UserInfo.objects.filter(user=u).count() if count == 0: if p == p2: print("注册成功") models.UserInfo.objects.create(user=u,

form提交

回眸只為那壹抹淺笑 提交于 2020-01-19 00:32:07
方法一:利用form的onsubmit()函数(经常使用) Html代码 < script type= "text/javascript" > function validateForm(){ if( document.reply.title.value == ""){ //通过form名来获取form alert("please input the title!"); document.reply.title.focus(); return false; } if(document.forms[0] .cont.value == ""){ //通过forms数组获取form alert("please input the content!"); document.reply.cont.focus(); return false; } return true; } < form name= "reply" method= "post" οnsubmit= "return validateForm( );" > < input type= "text" name= "title" size= "80" /> < br /> < textarea name= "cont" cols= "80" rows= "12" > </ textarea > < br /> < input

Django进阶Form篇

陌路散爱 提交于 2020-01-18 06:52:43
一、django表单系统中,所有的表单类都作为django.forms.Form的之类创建,包括ModelForm 关于django的表单系统,主要分两种: 1.基于django.forms.Form:所有表单类的父类 2.基于django.forms.ModelForm:可以和模型类绑定的Form 案例:实现添加出版社信息的功能 二、不使用Django.Form的情况 add_publisher.html <form action="" method="post"> {% csrf_token %} 名称:<input type="text" name="name"><br> 地址:<input type="text" name="address"><br> 城市:<input type="text" name="city"><br> 省份:<input type="text" name="state_province"><br> 国家:<input type="text" name="country"><br> 网址:<input type="text" name="website"><br> 名称:<input type="submit" value="提交"><br> </form> views.py from django.http import HttpResponse

Django之Form组件

时间秒杀一切 提交于 2020-01-18 02:14:00
Django之Form组件 本节内容 基本使用 form中字段和插件 自定义验证规则 动态加载数据到form中 1. 基本使用 django中的Form组件有以下几个功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 要使用form类,首先需要创建这个类,方法如下: from django.forms import Form from django.forms import widgets # 插件 from django.forms import fields # 字段 class MyForm(Form): # 继承自Form类 user = fields.CharField( widget=widgets.TextInput(attrs={'id': 'i1', 'class': 'c1'}) # 定义生成的html标签类型是input的text框,attrs={'id': 'i1', 'class': 'c1'}代表在这个标签中添加属性ID为i1,添加class为c1 ) gender = fields.ChoiceField( choices=((1, '男'), (2, '女'),), # 定义下拉框的选项,元祖第一个值为option的value值,后面为html里面的值 initial=2, #

Django之强大的Form功能

时间秒杀一切 提交于 2020-01-17 11:12:53
转载: http://www.cnblogs.com/0820-zq/p/5807980.html Form Form的验证思路 前端:form表单 后台:创建form类,当请求到来时,先匹配,匹配出正确和错误信息。 Django的Form验证 实例 : 创建project,进行基础配置文件配置 settings.py settings.py之csrf注销 __init__.py urls.py views.account.py: from django.shortcuts import render,HttpResponse from app01.forms import Form1 def form1(request): if request.method=="POST": #这里POST一定要大写 #通常获取请求信息 #request.POST.get("user",None) #request.POST.get("pwd",None) #获取请求内容,做验证 f = Form1(request.POST) #request.POST:将接收到的数据通过Form1验证 if f.is_valid(): #验证请求的内容和Form1里面的是否验证通过。通过是True,否则False。 print(f.cleaned_data) #cleaned_data类型是字典

软件工程--四则运算表达式(6)

本小妞迷上赌 提交于 2020-01-16 18:42:23
四则运算题目生成器 这篇文章详细讲述了需求分析当中功能需求第四阶段的实现过程和内容,对需求分析阶段感兴趣,请移步 软件工程–四则运算表达式 对于网页之前的分析过程,请移步 功能需求和设计阶段 网页的后端实现过程,请移步 软件工程–四则运算表达式(4) 网页的前端实现过程,请移步 软件工程–四则运算表达式(5) 做题和历史记录的设计过程 做题部分主要承担着以下功能 1.接受登录用户的做题请求 2.回传给用户一个表单用于填写做题信息 3.接收用户的表单,从数据库中取出相应的数据并且新建一个History记录保存用户的做题信息 4.给用户回传一个界面用于做题 5.接收用户做题信息并且对用户做题情况进行记录 6.返回用户答题成绩界面 7.可以让用户看到自己做错的题的信息 可以看到做题部分的功能是相对比较复杂的,而且里面需要进行的逻辑判断很多才能保证做题信息的严密性与安全性,尤其是对于如何保存用户的做题信息上,用户可能会多次提交同一个表单,多次提交刷分,要防止此类攻击的发生 而且在编写过程中也遇到了一些我目前难以解决的情况,比如如何实现表单长度的动态加载,以及对于其中的每一项进行赋值,网页的左右分栏问题等,接下来将介绍我是如何想尽各种办法绕开这些问题实现需求功能的 用例图 类图 编码过程 视图部分 出题部分 #question/views.py def generator ( request

表单form

橙三吉。 提交于 2020-01-16 08:50:43
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表单标签</title> </head> <body> <form action="#" method="get" > <!-- 采集用户数据的范围 action="#"提交当前页面 method="get"请求参数会在地址栏显示 method="post"请求参数不会在地址栏显示,会封装在请求体中(http协议)--> <label for="username">用户名:</label> <input name="username" type="text" placeholder="请输入用户名" id="username"><br> <!-- 表单内数据提交要用name属性 --> 密码: <input name="password" type="password"placeholder="请输入密码"><br> 性别: <input type="radio" name="gender" value="0" checked="checked">男 <!-- 多个单选name属性值必须一样 checked="checked"默认选中--> <input type="radio"name="gender" value="1">女<br> 爱好:

vue 表单 验证 async-validator

删除回忆录丶 提交于 2020-01-15 00:57:40
1、使用插件 async-validator async-validator 地址: https://github.com/yiminghe/async-validator 2、示例(vue+element-ui) <el-form :model="numberValidateForm" ref="numberValidateForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="年龄" prop="age" :rules="[ { required: true, message: '年龄不能为空'}, { type: 'number', message: '年龄必须为数字值'} ]" > <el-input type="age" v-model.number="numberValidateForm.age" autocomplete="off"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('numberValidateForm')">提交</el-button> <el-button @click="resetForm('numberValidateForm')"