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


相关推荐

  • String转换Long两种方式

    Long.ValueOf(“String”)与Long.parseLong(“String”)的区别Long.ValueOf(“String”)返回Long包装类型Long.parseLong(“String”)返回long基本数据类型

    2022年4月5日
    74
  • TCP/IP数据包结构具体解释

    TCP/IP数据包结构具体解释

    2021年11月16日
    54
  • Java常用开发工具有哪些?

    Java常用开发工具有哪些?Java常用的几个开发工具。下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是为了给Java编码和开发提供卓越的支持。常用源码编辑工具介绍Java源代码本质上其实就是普通的文本文件,所以理论上来说任何可以编辑文本文件的编辑器都可以作为我们的Java代码编辑工具。比如:Windows记事本,MacOSX下的文本编辑,Linux下的vi、emacs、gedit、DOS下的edit等。但是这些简单工具没有语法的高亮提示、自动完成等功能,这些功能的缺失会大.

    2022年7月7日
    28
  • BitBlt用法_BIT函数

    BitBlt用法_BIT函数BitBlt用法在VC中显示位图常用取BitBlt()方法,它是将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。今天要将一些位图显示到窗口中,所以学习了一下。我已经将要用的位图导入到工程资源中,

    2022年10月19日
    3
  • web网络聊天室

    web网络聊天室花了四天时间做了一个简单的web聊天室前端页面效果大概是下面这个样子1.登陆界面2.注册界面这里首先会检查用户名是否重复,如果重复,会提示你用户名已存在反正显示可用3.聊天室界面登陆成功会在左边显示登陆人的名称以及当前在线人数。然后在下面可用选择对谁说以及一些文字表情,字体颜色什么的4.聊天功能会显示发送者名称,以及对谁说,语气词,以及发送时间最后总结一下做的…

    2022年6月22日
    29
  • golang 2021.11 激活码【2021免费激活】「建议收藏」

    (golang 2021.11 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html2JTX0APX6F-eyJsa…

    2022年3月29日
    93

发表回复

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

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