JS/Jquery 表单方式提交总结
1. submit提交
(1). submit 按钮式提交
缺点:在提交前不可修改提交的form表单数据
// 1. html
<form method="post" action="/../.." >
<input type="text" name="username" value="" />
<input type="password" name="pwd" value="" />
<input type="submit" value="提交"/>
</form>
(2). onsubmit方式提交
优点:在请求提交操作(action)时,可对提交的数据进行处理
// 1. html
<form id='test_form' action='' method='' onsubmit='return checkForm()'>
<input type='text' name='username' value=''/>
<input type='password' id='input_pwd' value =''/> // 注意此没有name属性,不会提交
<input type='hidden' name='pwd' id='md5_pwd' value=''/> // 此有name属性,会被form表单提交
<button type='submit'>提交<button/>
</form>
// 2.js
function checkForm () { // 点击“提交”按钮,执行的方法
var input_pwd= document.getElementById('input_pwd');
var md5_pwd= document.getElementById('md5_pwd');
md5_pwd.value= toMD5(input_pwd.value);
//进行下一步
return true;
}
2. formData 提交
// 1. html
<form id="photoForm">
<input id="photoInput" type="file" title="图片上传" accept=".jpg,.jpeg,image/jpg,image/jpeg" name="myfiles" multiple="multiple">照片导入
</form>
// 2. js
$('#photoForm input').change(function() {
var photoForm = $('#photoForm')[0],
photoFormData = new FormData(photoForm),
photoFileList = $('#photoInput')[0].files; // 上传的文件列表
$('.loading').show();
$.ajax({
type: 'POST',
url: ZD.url+"/cert/filesUpload",
data: photoFormData,
// 告诉jQuery不要去处理发送的数据
processData : false,
// 告诉jQuery不要去设置Content-Type请求头
contentType : false,
complete:function(){
$('.loading').hide();
$("#photoForm input").val('');
},
success:function(d){
// 成功。。
}
});
});
3. 动态添加表单提交, js方式提交
1. 动态追加的form表单
var exportForm = $('<form action="'+ajaxUrl+'" method="post">\
<input type="hidden" name="beginDate" value="'+$(".beginDate").val()+'"/>\
</form>');
$(document.body).append(exportForm);
exportForm.submit(); // 表单提交
exportForm.remove();
2. 静态form表单,js方式提交
// 1. html
<form action="'+ajaxUrl+'" method="post">
<input type="hidden" name="beginDate" value="'+$(".beginDate").val()+'"/>
</form>
// 2. js/JQuery
document.getElementById("form").submit(); // js写法
$("#form").submit(); // jquery写法
JS/Jquery 表单方式提交总结的更多相关文章
- JS 更改表单的提交时间和Input file的样式
JS转换时间 function renderTime(data) { var da = eval('new ' + data.replace('/', '', 'g').replace('/', '' ...
- 使用js控制表单重复提交(1加锁,2事件方式,3 EasyUI中解决表单重复提交)
方法一. var flag = true; $(function() { $("#interested").click(function() { beInterested(); } ...
- jquery.form.js+jquery.validation.js实现表单校验和提交
一.jquery引用 主要用到3个js: jquery.js jquery.form.js jquery.validation.js 另外,为了校验结果提示本地化,还需要引入jquery.vali ...
- 使用JS对form的内容验证失败后阻止提交 &&js校验表单后提交表单的三种方法总结
1.form的两个事件 submit,提交表单,如果直接调用该函数,则直接提交表单 onSubmit,提交按钮点击时先触发,然后触发submit事件.如果不加控制的话,默认返回true,因此表单总能提 ...
- js防止表单重复提交
1.表单 <form id="addForm" onsubmit="getElementById('submitInput').disabled=true;retu ...
- jQuery——表单异步提交
如果不做任何处理,表单提交时会刷新页面,为了改善体验,可以使用jQuery做到异步提交表单:通过$("#form").serialize()将表单元素的数据转化为字符串,然后通过$ ...
- java 模拟表单方式提交上传文件
/** * 模拟form表单的形式 ,上传文件 以输出流的形式把文件写入到url中,然后用输入流来获取url的响应 * * @param url 请求地址 form表单url地址 * @param f ...
- 原生JS写表单验证提交功能
先上效果图: 表单的基础内容就是昵称判断.手机号判断.邮箱判断.身份证号码判断,这里是用到正则验证检验格式. 页面的表单写法就是一个form的提交.输入框用input来实现,输入内容用value来获取 ...
- js阻止表单默认提交、刷新页面
一.阻止刷新页面 在表单中的提交按钮<button></button>标签改为<input type="button">或者在<butto ...
随机推荐
- (四)数据持久化(基于YesSql)
ORM框架(持久化流程) session是事务 (transaction) 的工厂,处理session后,所有更改将自动刷新到数据库中.或者,如果要处理何时将更改刷新到数据库,即transaction ...
- Delphi - cxGrid字段类型设定为ComboBox 并实现动态加载Item
cxGrid设定字段类型为ComboBox 在cxGrid中选中需要设定的字段: 单击F11调出属性控制面板,在Properties下拉选项中选中ComboBox,完成字段类型的设定. cxGrid ...
- Delphi - cxGrid添加Footer显示
cxGrid - 添加footer显示 1:添加Footer Items 单击cxGrid Customize... ,Summary,Add: 2:添加Footer items数据绑定 选中一条需要 ...
- 【社群话题分享】当 Bug 引发事故时,是否应该追究责任呢?
每周三下午的话题活动是又拍云技术社群的优良传统- 大家一起来看看这周都聊了些啥吧- 看看之前大家还聊了些什么,点击下方你感兴趣的话题~ [社群话题分享]是世界上最_语言? [社群话题分享]IDE 技术 ...
- Commons组件实现文件上传与下载
一.文件上传 所需jar包 首先是commons-fileupload.jar包 其次是commons-IO.jar包 前者的使用依赖后者,两者缺一不可 实现 前台要求 在前台提交的form表单请求方 ...
- Reactive(2) 响应式流与制奶厂业务
目录 再谈响应式 为什么Web后端开发的,对 Reactive 没有感觉 Java 9 支持的 Reactive Stream 范例 小结 扩展阅读 再谈响应式 在前一篇文章从Reactive编程到& ...
- SpringCloud(二)- 服务注册与发现Eureka
离上一篇微服务的基本概念已经过去了几个月,在写那篇博客之前,自己还并未真正的使用微服务架构,很多理解还存在概念上.后面换了公司,新公司既用了SpringCloud也用了Dubbo+Zookeeper, ...
- Codeforces Round #479 (Div. 3) B. Two-gram
原题代码:http://codeforces.com/contest/977/problem/B 题解:有n个字符组成的字符串,输出出现次数两个字符组合.例如第二组样例ZZ出现了两次. 方法:比较无脑 ...
- CF980C Posterized 贪心 二十五
Posterized time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- 二进制协议gob及msgpack介绍
本文主要介绍二进制协议gob及msgpack的基本使用. 最近在写一个gin框架的session服务时遇到了一个问题,Go语言中的json包在序列化空接口存放的数字类型(整型.浮点型等)都序列化成fl ...