一、Jsp页面提交数据有俩种方式:post和get,具体用法小结如下:
1、post:使用表单提交数据;get使用?传参。
2、具体用法上的技巧:
a、如果表单提交的数据不必在页面显示或者数据需要处理的时候,我们使用隐藏表单来处理,即我们做一个隐藏的表单,其中的各input元素当然也要做成隐藏的。这样我们将经过处理后的数据赋值到隐藏表单的各个隐藏项里,将其提交。举个例子如下:
<input name="theme" id="theme" type="text" value="" οnblur="checkLength1();" οnkeydοwn="EnterPress10();"/> <!--用户输入的主题内容-->
<img id="tijiao" οnclick="tijiao()" src="<%=basePath%>micro_blog/images/e-mail_writebtn.jpg"/> <!--提交按钮-->
<!--js-->
<script type="text/javascript">
function dan(){
document.getElementById("content11").value=encodeURIComponent(document.getElementById("content").value); <!--将输入的主题内容转码处理-->
document.forms[0].submit(); <!--此处的写法讲究下面第二个内容介绍-->
}
</script>
<!--form表单-->
<form name="dansend" action="<%=basePath%>DanSend.do" method="post">
<input type="hidden" name="theme11" id="theme11"/>
</form>
<!-- 另附上在控制器端的转码操作-->
instation_letter.setContent(java.net.URLDecoder.decode(request.getParameter("content11"),"UTF-8"));
b、表单的提交有三种方法:
第一种:在按钮的单击事件中直接提交:<img src="img/submit.gif" οnclick="document.myform.submit()" /> ; <!--此处只能提交此按钮所处的表单-->
第二种:像上面第一个内容中一样在js里面“document.forms[0].submit();”这样提交表单,但此方法要注意的是要对应好form表单的数组下标.第一个:0;第二个:1依次...
第三种:像上面第一个内容中一样在js里面提交,但写法不一样.需要用到form的Id:document.getElementById("myForm").submit();
第四种:这是一种通用的方法,它可以将整个页面的所有表单都一次性提交,具体用法如下:
......
<BODY>
<FORM action="a.html">
<A οnclick="formSubmit(this)">提交1</A>
</FORM>
<FORM action="b.html">
<A οnclick="formSubmit(this)">提交2</A>
</FORM>
</BODY>
......
<!--js-->
<script>
var formSubmit = function(obj){
var formObj = obj.parentNode;
while(formObj.nodeName.toLowerCase() != "form"){
formObj = formObj.parentNode;
}
formObj.submit();
}
</script>