form表单提交的几种方法

form表单提交的几种方法form表单提交的几种方法在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮(<inputtype='submit'>)

大家好,又见面了,我是你们的朋友全栈君。

form表单提交的几种方法

在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮
(<input type=’submit’>)就可以进行数据的提交,每一个input标签都需要有一个name属性,才能进行提交

当点击登陆时,向数据库发生的数据是:username=username&password=password.

这种默认的提交方式,一般会进行页面的跳转(不成功时跳转到当前页面)。而有时候我们是对弹出框进行数据提交的,希望提交成功则关闭弹出框并刷选父页面,失败则提示失败原因,且弹出框不关闭。此时可以采用Ajax进行数据提交.

具体参考第四种方案

无刷新页面提交表单

表单可实现无刷新页面提交,无需页面跳转,如下,通过一个隐藏的iframe实现,form表单的target设置为iframe的name名称,
form提交目标位当前页面iframe则不会刷新页面


?
1
2
3
4
<form
action
=
"/url.do"
method=
"post"
target=
"targetIfr"
>
<input type=
"text"
name
=
"name"
/>
</form>  
<iframe
name
=
"targetIfr" style="display:none"
></iframe>

通过type=submit提交

一般表单提交通过type=submit实现,input type=”submit”,浏览器显示为button按钮,通过点击这个按钮提交表单数据跳转到/url.do


?
1
2
3
4
<form
action
=
"/url.do"
method=
"post"
>
   
<input type=
"text"
name
=
"name"
/>
   
<input type=
"submit"
value=
"提交"
>
</form>

js提交form表单

js事件触发表单提交,通过button、链接等触发事件,js调用submit()方法提交表单数据,jquery通过submit()方法


?
1
2
3
4
5
6
7
8
9
10
<form id=
"form"
action
=
"/url.do"
method=
"post"
>
   
<input type=
"text"
name
=
"name"
/>
</form>
<script>
 
document.getElementById(
"form"
).submit();
 
jquery: $(
"#form"
).submit();
 
</script>

ajax异步提交表单数据

采用ajax异步方式,通过js获取form中所有input、select等组件的值,将这些值组成Json格式,通过异步的方式与服务器端进行交互,一般将表单数据传送给服务器端,服务器端处理数据并返回结果信息等


?
1
2
3
4
5
6
7
8
9
10
11
12
<form id=
"form" 
method=
"post"
>
   
<input type=
"text"
name
=
"name"
id=
"name"
/>
</form>
  
var params = {
"name"
, $(
"#name"
).val()}
 
$.ajax({
      
type:
"POST"
,
      
url:
"/url.do"
,
      
data: params,
      
dataType :
"json"
,
      
success:
function
(respMsg){
      
}
   
});

此时可以在callback函数中对请求结果进行判断,然后执行不同的动作(页面跳转或刷选数据、提醒错误都可以)

页面无跳转

如果通过form表单提交请求服务端去下载文件,这时当前页面不会发生跳转,服务端返回void,通过response 去写文件数据,页面会显示下载文件。


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<form
action
=
"/url.do"
method=
"post"
>
   
<input type=
"text"
name
=
"name"
/>
   
<input type=
"submit"
value=
"提交"
>
</form>
 
@RequestMapping(value =
"/url"
)
    
public
void exportFile(HttpServletRequest req, HttpServletResponse response, String rptId)
            
throws Exception {
        
OutputStream
out
=
null
;
        
try {
            
String rptName =
"file"
;
            
String fileName = new String((rptName + excelAble.getFileSuffix()).getBytes(
"GBK"
),
                    
"8859_1"
);
            
response.reset();
            
response.setContentType(
"application/octec-stream"
);
            
response.setHeader(
"Content-disposition"
,
"attachment; filename="
+ fileName);
            
out
= response.getOutputStream();
            
excelAble.exportFile(
out
);
        
} catch (Exception e) {
            
logger.error(e);
        
} finally {
            
if (
out
!=
null
) {
                
out
.
close
();
            
}
        
}
    
}

form表单上传文件

使用form表单进行上传文件需要为form添加enctype=”multipart/form-data” 属性,除此之外还需要将表单的提交方法改成post,如下 method=”post”, input type的类型需要设置为file


?
1
2
3
4
<form
action
=
"/url.do"
enctype=
"multipart/form-data"
method=
"post"
>
    
<input type=
"file"
name
=
"name"
/>
    
<input type=
"submit"
value=
"提交"
>
  
</form>

附件只能通过submit方法进行提交,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155485.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dex文件解析(第三篇)「建议收藏」

    dex文件解析(第三篇)「建议收藏」一张图搞懂dex大图这里图1dex当然也可以通过下面的图12DexFile的文件格式,了解更清楚。DEX文件详解什么是dex文件?如何生成一个dex文件dex文件的作用dex文件格式详解什么是dex文件?dex文件是Android系统中的一种文件,是一种特殊的数据格式,和APK、jar等格式文件类似。能够被DVM识别,加载并执行的文件格式。简单说就

    2022年4月19日
    66
  • Pytest(1)安装与入门[通俗易懂]

    Pytest(1)安装与入门[通俗易懂]pytest介绍pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它

    2022年7月31日
    2
  • SVN——SVN项目迁移到GIT

    svn有很多优点,但是git的出现对svn的冲击的确很大,现在很多公司项目的都迁移的git上了,下面是我自己在做svn迁移项目到git上面时候整理的一些资料。暂时就些整理这些,具体的操作如果有看不懂的,可以和我联系!右侧的qq号,欢迎一起探讨。 相关操作: 1:命令行执行##clone svn -> git 地址支持协议 : svn://, http://, https://. 注意这个 UR

    2022年2月25日
    50
  • StringUtils方法全集

    StringUtils方法全集StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。除了构造器,StringUtils

    2022年6月11日
    25
  • 鸿蒙二部曲之一,网文封神之作,“鸿蒙二部曲”和“斗罗四部曲”你选择站哪边?…

    鸿蒙二部曲之一,网文封神之作,“鸿蒙二部曲”和“斗罗四部曲”你选择站哪边?…谈到网络小说,绕不过的就是辰东的“遮天三部曲”、酒徒的“隋唐三部曲”、西红柿的“鸿蒙二部曲”、冰清玉洁唐三少的“斗罗四部曲”了。当然还有其他的许许多多的小说也是同样精彩的。“鸿蒙二部曲”首先我们一起看一下我吃西红柿的“鸿蒙二部曲”,在我吃西红柿的创作里面的《盘龙》和《星辰变》,里面的主角林雷和秦羽最后都是成了鸿蒙掌控者级别的人物。每次说到鸿蒙二部曲的时候,总有些人会说为什么没有《吞噬星空》的罗峰啊…

    2022年6月17日
    35
  • vue跨域解决的几种方案「建议收藏」

    vue跨域解决的几种方案「建议收藏」vue跨域解决的几种方案一、开发环境解决跨域方法平时使用vue开发的时候,大多会使用vue-cli搭建项目,在vue-cli搭建的项目中有一个配置文件vue.config.js,可以在该文件中进行相应的配置解决开发环境的跨域问题。第一步设置公共urlapi/index.jsimportaxiosfrom’axios’importrouterfrom’@/router/index.js’importstorefrom’@/store/index.js’//创建一个axios

    2022年10月1日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号