form表单的四种提交方式

本文介绍了HTML表单的四种提交方法,包括直接通过按钮触发提交及利用JavaScript控制提交流程。此外,还详细讨论了JSP与Servlet间数据传递时可能出现的乱码问题及其解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.form表单的四种提交方式
方式一、 
Js的提交方式,表单上有action
<script type="text/javascript"> 
function regist(){       
document.getElementById("form1").submit();  //form表单id.submit();
    }
</script> 
<body>   
<form  id="form1"  method="post" action="Servletone">     
姓名:<input type="text" name="sname" size="25">    
<input type="button" value="提交" onclick="regist()">  
</form>   
</body>
方式二、 Js的提交方式,表单上有action
<script type="text/javascript"> 
function regist(){     
document.form1.submit();   //form表单name.submit();
 }
</script> 
<body>   
<form  name="form1"  method="post" action="Servletone">     
姓名:<input type="text" name="sname" size="25">    
<input type="button" value="提交" onclick="regist()">  
</form>   
</body>
方式三、Js的提交方式,表单上没有action
<script type="text/javascript"> 
function regist(){      
var form=document.getElementById("form1"); //form表单id
       form.action="Servletone"; 
//因为form没有带action所以这里要加上提交到哪           
 form.submit();   
}
</script> 
<form  id=form1”  method=post><!—没带action-->       
姓名:<input type="text" name="sname" size="25">       
<input type="button" value="提交" onclick="regist()">
</form>
方式四、
<script type="text/javascript">
    function regist(){
       var sname=document.getElementById("sname").value;
       if(sname == null || sname ==""){
            alert("please enter name");
            return false;
       }
         return true;
     }
</script>
<form  name="form1" id="form1"  method="post" action="abc"  onSubmit="return regist()">
//onSubmit="return regist()" 中的regist()返回true时,就可以进行提交,提交到action=abc
     name:<input type="text" name="sname" id="sname" size="25">
    <input type="submit" value="提交" >
</form>
2.JSP与Servlet之间传递数据出现的乱码问题
JSP设置编码:
设置JSP的编码方式:选择window > Preferences > MyEclipse > Files and Editors > JSP
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
Servlet设置编码
public void doPost(HttpServletRequest request, HttpServletResponse response){
response.setContentType("text/html;charset=UTF-8");//response是返回给页面的编码。
request.setCharacterEncoding("UTF-8"); //request是从页面来的请求编码。
String na=new String(request.getParameter("na").getBytes("ISO-8859-1"), "UTF-8");//超级链接(get方式)的编码
修改TOMCAT
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"redirectPort="8443"  URIEncoding="UTF-8" />
修改MYSQL
有时会用JDBC连接MySQL数据库,可能会出现乱码,所以要在连接之后加上如下的语句:
useUnicode=true&characterEncoding=UTF-8
3.访问Servlet的三种方式
1.第一种访问方式:浏览器地址栏访问---doGet方式访问     http://localhost:8080/oneWebProject(项目名)/Servletoneweb.xml中配的url-pattern值) 注意:action后面写的url必须和url-pattern一样。      使用超级链接访问,在href处指定ServletURL
2第二种访问方式:表单提交 ---doGetdoPoset方式访问 
 <body>  <form  action="Servletone"    method="post">  <input type="submit" value="提交">  </form> </body> 
3第三种访问方式:超连接---doGet方式访问    
<a href="Servletone">访问servlet</a>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值