本文材料来源于传智播客,在此说明。
整个项目结构:
问题:
JFactoryList.jsp代码如下:
<ul> <hr> <font color="blue"><b>按钮区域</b></font> <hr> <li id="view"><a href="#" onclick="formSubmit(‘toview.action‘,‘_self‘);this.blur();">查看</a></li> <li id="new"><a href="#" onclick="formSubmit(‘factorycreate.action‘,‘_self‘);this.blur();">新增</a></li> <li id="update"><a href="#" onclick="formSubmit(‘jfactoryupdate.action‘,‘_self‘);this.blur();">修改</a></li> <li id="delete"><a href="#" onclick="formSubmit(‘deleteById.action‘,‘_self‘);this.blur();">删除</a></li> <li id="delete"><a href="#" onclick="formSubmit(‘delete.action‘,‘_self‘);this.blur();">批量删除</a></li> </ul>
上面的代码onclick="formSubmit(‘factorycreate.action‘,‘_self‘);
但是真正提交的是:
那么basicinfo/factory/这些是怎么来的呢?在comm.js中找到formSubmit的函数原型:
function formSubmit (url,sTarget){ document.forms[0].target = sTarget document.forms[0].action = url; document.forms[0].submit(); return true; }
发现没什么异常啊。
那就很奇怪啊。
猜想是这样的:我们操作的JFactoryList.jsp就位于/basicinfo/factory目录下,所以我们在提交的factorycreate.action提交时,
就会自动补充到/basicinfo/factory/factorycreate.action这个请求。浏览器做的事情。
004杰信-关于formSubmit('toview.action','_self')路径的疑惑
时间: 2024-10-12 17:25:28