近日有开发人员提出来一个比较奇怪的问题,在一个FORM表单页面有两个提交按钮,
一个是将相关内容提交到服务器做检查用的,另一个是正式提交内容。按照正常的流程,就是用户在正式提交之前可以先做检查。检查按钮提交时,页面不需要跳转,还是在当前录入页面。保存按钮提交的话,提交成功后,则需要跳转。
问题是什么呢?用户只点击“保存”按钮,提交成功后是可以正常跳转页面。但是如果用户先点击“检查”按钮后再点击“保存”按钮,则不再跳转,不管是否成功。
后来经过检查代码,原来,“检查”按钮的提交是使用IFRAME的方案(为什么不使用AJAX方案呢,原来这里的提交还包括了文件的上传,一般的AJAX不能处理,所以采用的是IFRAME方案),提交时,将FORM的TARGET修改到“IFRAME窗口”了。所以,接着再点击“保存”按钮时,提交成功也是跳转到“IFRAME窗口”,而这里的IFRAME窗口是不可见的,即设置为WIDTH=0/HEIGHT=0。
修改的方案,则需要把“保存”按钮提交之前,将FORM的TARGET修改为当前页面,即 form.target="_self"。问题得到解决。
联系客服