表单提交取不到表单中参数的正确值的问题小计

问题:主页面通过url传参banktype=1103给编辑页面,编辑页面的表单中同样有一个banktype参数,表单post自提,并且采用#自提
页面取值:post方法判断上方取值一次,post判断内重新取值一次
调试发现:当表单内设置bantype=1803时自提时,两次对banktype取值没有改变过来,仍然是1103,何解?
解答:
主页面传参时,url是xxx_update.jsp?banktype=1103&matchid=2
表单采用#自提时,问题来了,表单内部设置banktype=1803,提交到的地址#其实是带参刷新,本页原来的url是xxx_update.jsp?banktype=1103&matchid=2,
#自提后一样是提交到xxx_update.jsp?banktype=1103&matchid=2,不管在表单对banktype设置成多少,#自提的这个url又会将banktype重新赋值成了1103,
这样页面刷新时,两次对banktype取值都是1103;

解决方法1:
同样采用#提交,但:
在表单内将banktype更改name为banktype2,在post判断上方,维持不变对banktype取值(可接受主页面提交给编辑页面的url传参),
在post判断内,对banktype2取值,这样banktype2取的值就是表单中这个参数的实际值;

解决方法2:
不采用#自提,form中post提交action到'xxx_update.jsp?matchid=<%=matchid%>'(注意这里不再对banktype进行传参)
注意这里matchid=2要带过来,如果直接提交给xxx_update.jsp,那么表单提交刷新页面后,会取不到这个matchid参数,没这个参数,执行编辑的存储过程时,会执行失败;

解决方法3:
同方法2,不采用#自提,form中post提交action到'xxx_update.jsp,(注意这里不再对banktype进行传参)
要想传递matchid,必须在form表单内部设置一个name=matchid且类型为hidden的input项,并且正确给其赋值,这样表单提交时,一样可以将这个matchid通过post提交给xxx_update.jsp;

 

转载于:https://www.cnblogs.com/tapt/p/7229497.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值