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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 查看服务器的外网地址[通俗易懂]

    查看服务器的外网地址[通俗易懂]服务器上执行以下命令:curlmembers.3322.org/dyndns/getip转载于:https://blog.51cto.com/zhenfen/2106824

    2022年5月1日
    143
  • numpy求特征向量_python计算矩阵

    numpy求特征向量_python计算矩阵文章目录numpy计算矩阵特征值,特征向量一、示例:二、numpy实现:numpy计算矩阵特征值,特征向量一、示例:首先借参考百度demo的来看一下矩阵的特征值和特征向量的解题过程及结果。可知矩阵A:特征值为1对应的特征向量为[-1,-2,1]T。特征值为2对应的特征向量为[0,0,1]T我们可以进一步对特征向量进行单位化,单位化之后的结果如下:特征值为1对应的特征向量为[…

    2022年10月23日
    0
  • OpenCV单目视觉定位(测量)系统

    OpenCV单目视觉定位(测量)系统转自:http://blog.csdn.net/chenmohousuiyue/article/details/56300915OpenCV单目视觉定位(测量)系统TheSystemofVisionLocationwithSignalCameraAbstract:Thispassagemainlydescribeshowtolo

    2022年6月23日
    37
  • Postman :中文汉化界面一键配置「建议收藏」

    Postman :中文汉化界面一键配置「建议收藏」开心到飞起!!!Postman工具界面被大佬汉化啦!!Gitee和Github链接跳转地址:黄连木笛大佬的Gitee地址:PostmanCn黄连木笛大佬的Github地址:PostmanCn汉化包下载地址【2021-04-1320:22如有新版可以自己更新下载】:https://gitee.com//hlmd/PostmanCn/attach_files/670442/download/app.zip使用方法:解压并复制app文件夹到路径:C:/Users/用户名/AppData/Lo.

    2022年9月29日
    0
  • 基于Auto.js的萌猫跳辅助

    基于Auto.js的萌猫跳辅助许久不见,甚是想念被学长唤醒的博客魂ing…这次是一个失去时效性的小脚本,但是其中包括一些东西或许对你们可以有帮助撒一些要点因为Auto.js并没有直接的对于触控位置的监听,所以需要对安卓API进行调用2.涉及对于画布的使用importClass(android.graphics.PorterDuffXfermode);importClass(android.graphics.PorterDuff);constBG_COLOR=colors.parseColor(“#2d

    2022年6月6日
    37
  • 微信后台服务器能查撤回的消息吗,微信撤回的消息还能看到吗?查看方法介绍…「建议收藏」

    微信后台服务器能查撤回的消息吗,微信撤回的消息还能看到吗?查看方法介绍…「建议收藏」如果大家在使用钉钉办公软件的话,应该知道钉钉密聊功能,使用这个功能之后聊天的内容会自动销毁,而且不能进行复原操作的。所以很多用户都在问微信撤回的消息还能看到吗,是不是和钉钉密聊一样不能进行恢复了,接下来小编就为大家进行详细介绍,以及对微信撤回的消息查看方法进行介绍。微信撤回的消息按照原理或者是字面上的意思来说用户是看不到这类消息了,除非大家在对方未操作消息撤回之前已经进行了消息的查看,如果没有进行…

    2022年6月16日
    67

发表回复

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

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