form表单判断是那个按钮的提交

10 篇文章 0 订阅
4 篇文章 0 订阅

用到servlet就不得不提form表单的提交。如果一个页面只提交一次数据那也就简单了。关键是平常的应用中很少有一个页面只应用一次的情况。一般遇到的情况是一个form表单提交到多个servlet中、多个form表单提交到一个servlet中。一个form表单提交多个servlet中一般方法是在js文件中写一个改变form表单action属性的方法代码如下:

<script> 
function checkaction(v){ 
if(v==0){ 
document.formName.action="index.php?admin_db-repair"; 
}else{ 
document.formName.action="index.php?admin_db-optimize"; 
}
dbform.submit(); 

</script> 
<form action="" method="post" name="formName"> 
<input type="submit" class="btn" value="提交按钮1" name="opsubmit" οnclick="checkaction(1);" /> 
<input type="submit" class="btn" value="提交按钮2" name="resubmit" οnclick="checkaction(0);" /> 
</form>

在这段代码中只需要改变v的值就可以提交到不同的servlet中了,如果需要增加更多的提交按钮并且提交到不同的servlet 只需要将if  else语句改成switch 语句添加更多v的值就可以了。

而多个form表单提交到一个servlet 中,form中并不需要特别处理,关键是在servlet 中需要一段代码处理用户要提交的是那一部分数据。代码如下:

<script> 
function checkaction(v){ 
if(v==0){ 
document.formName.action="index.jsp?x=0"; 
}else{ 
document.formName.action="index.jsp?x=1"; 
}
dbform.submit(); 

</script> 
<form action="" method="post" name="formName"> 
<input type="submit" class="btn" value="提交按钮1" name="opsubmit" οnclick="checkaction(1);" /> 
<input type="submit" class="btn" value="提交按钮2" name="resubmit" οnclick="checkaction(0);" /> 
</form>

用户在点击按钮后触发onclick事件调用checkaction函数改变servlet的action,在改变action属性的时候新加入一个x的参数。

在servlet中只需要判断x的值就能知道到底是那个按钮被按下,servlet 中的代码如下:

if((Integer.valueof(request.getparameter("x")))==0){

//按钮2被按下时提交内容的处理程序

}else{

//按钮1被按下时提交内容的处理程序

在改变action属性的时候加参数x实际跟在浏览器的地址栏中地址后加”?x=0&y=1“是一样的。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值