JSP提交表单的⼏种⽅法
1.通过<form action="url"><input type="submit"></form>按钮⽅式提交
  这种⽅式是最传统的提交表单的⽅式,就是把所有的表单的值传到url界⾯。⽤于本页⾯传本页⾯⽐较多。
2.通过<input type="button" method="post/get" onclick="onSubmit()">
  这⾥是通过onclick触发js事件,然后我们可以在function onSubmit(){}写⼀些传输⽅式,⽐较典型的就是ajax传输:
1 var j$ = Conflict();//注册jQuery
2 function onSubmit(){
3    j$.ajax({
4        type:"get",
5        url:"fix_project_contrast_do.jsp",
6        data:{
7            fixitem_id : j$("#fixitem_id").val(),
8            check_man : j$("#check_man").val()
9        },
10        success:function(ret){
11            if(ret == 1) {
12                alert("提交审核成功!");
13            }else{
14                alert(ret);
15
16            }
17            urnValue=true;
18            window.close();
jquery实现ajax19        }
20    });
21 }
然后我们可以在fix_project_contrast_do.jsp处理
1 <%@ page contentType="text/html; charset=GBK"  import="相应的类路径" %>
2
3 <%
4 try{
5
6    Integer fixitem_id = Parameter("fixitem_id")), new Integer(0));
7    Integer check_man = Utility.Parameter("check_man")), new Integer(0));
8    //处理逻辑省略
9    out.clear();
10    Writer().write("1");//response相应值
11 }catch(Exception e){
12    out.clear();
13    Writer().Message());
14 }
15
16 %>
这种ajax异步传输⽤于修改后保存然后刷新页⾯⽐较多。
扩展:
如果我上传的页⾯包含<input type="file">的时候,需要修改在我们form标签
<form name="form_name" name="form_loan_update" enctype="multipart/form-data" method="post"> 我们就要通过下⾯代码提交表单了,fileElementId:'form_name'是提交form_name整个表单
jQuery.ajaxFileUpload({
async:false,
url:'fix_project_contrast_do.jsp',
secureuri:false,
fileElementId:'form_name',
dataType: 'json',
beforeSend:function(){
},
complete:function(){
},
success: function (data, status){
//表单参数
//次顺序
alert("保存成功");
load();//刷新
},
error: function (data, status, e){
var result = Ext.MessageBox.show({
title: '事务表单异常',
msg: sponseText,
width:520,
closable:false
});
}
});
}
然后在fix_project_contrast_do.jsp接收数据的数据需要
  Integer fixitem_id = Parameter("fixitem_id")), new Integer(0));
3.通过<form name="test" method="post" action="#"><input type="button" onclick="st.submit()"></form>
使⽤java代码实现相应的业务代码
1 <%
2 if (Method().equals("POST")) {
3    /**逻辑代码
4      *1.获取参数
5      *2.处理参数,实现业务逻辑
6      *3.设置标识,⽤于通过js跳转页⾯或刷新页⾯
7      */
8      bSuccess = true;
9 }
10 %>
11 <%if (bSuccess) {%>
12    alert("保存成功!");
13    var url = "对应的url参数";
14    location = url;
15 <%}%>
4.异步传输,实时监控表单数据
1 <script type="text/javascript">
2    var req=false;//异步请求提交对象
3    //1、初始化异步请求提交对象
4    function init(){
5        if(window.ActiveXObject){//IE
6        req=new ActiveXObject("Microsoft.XMLHTTP");
7        }else{//firefox
8            req=new XMLHttpRequest();
9        }
10    }
11    //发送请求
12    function sendReq(){
13        init();
14        var ElementById("stid").value;
15        //2、指定处理返回值的函数
16        adystatechange=process;
17        //3、打开到资源的连接
18        req.open("get","url",true);
19        //4、发送请求
20        req.send(null);
21    }
22    //5、处理返回值
23    function process(){
24        adyState==4){
25            if(req.status==200){
26            //获取返回值
27            var sponseText;
28              var ElementById("divsid");
29            d.innerHTML=v;
30        }
31    }
32 }
33 </script>
5.$.post()提交表单,$.ajax的封装,原理和$.ajax⼀样。需要导⼊.jquery.js包
1    js$.post("problem_invest_use_money_getCustInfo.jsp", {"fixitem_id" : fixitem_id}, function(data){
2        if(data != 0){
3            var params = data.split("$");
4            if(params[0] == 1){
5                ElementById("jkr_cust_id").value = params[1];
6                ElementById("jkr_cust_name").value = params[2];
7            }else{
8                alert(data)
9            }
10        }
11    });
其中回调函数data就是通过java代码:Writer().write(returnString);返回
6.showModalDialog返回获取放回字符串
1 function btnChoose(){
2    if(!sl_checkChoice(document.theform.fixitem_id, "项⽬ID"))        return false;
3    if(!sl_checkChoice(document.theform.jj_contract_sub_bh, "合同编号"))        return false;
4    var fixitem_id = ElementById("fixitem_id").value;
5    var jj_contract_bh = ElementById("jj_contract_sub_bh").value;
6    var v = showModalDialog('/efifs/zhongjiantou/repayment_principal_plan_choose.jsp?fixitem_id='+fixitem_id+'&jj_contract_bh='+jj_contract_bh,'','dialogWidth=1000px;dialogHeight=800px;status=no;help=0');
7    var params = v.split("$");
8    ElementById("money").value = params[0];
9    ElementById("lx_money").value = params[1];
10    ElementById("plan_id_list").value = params[2];
11 }
其中 v = urnValue = returnString;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。