</body> <script type="text/javascript" src="${pageContext.request.contextPath}/js/linkUrl.js"></script> </html>
<a href="#" onclick="javascript:linkUrl('${pageContext.request.contextPath}/wap/login/register.jsp?topColumnId=${i_TopColumnID}')"> 注册</a>|
/* * 功能 : 将如"register.jsp?name=a&pwd=a"的链接改成form提交,以达到隐藏表单。 * 使用:将<a href="register.jsp?name=a&pwd=a">注册</a>|替换这 * <a href="#" onclick="linkUrl('register.jsp?name=a&pwd=a')">注册</a>| * */ function linkUrl(allUrl){ var url,queryString,oneArray,twoArray,name,value,turnForm,turnInput; //1 创建form turnForm = document.createElement("form"); document.body.appendChild(turnForm); //2 解析完整url,加入隐藏域 alert(allUrl); url = allUrl.substring(0,allUrl.indexOf("?")); queryString = allUrl.substr(allUrl.indexOf("?")+1); // alert(url); // alert(queryString); oneArray = queryString.split("&"); for(var i=0;i<oneArray.length;i++){ twoArray = oneArray[i].split("="); name = twoArray[0]; value = twoArray[1]; //alert(name); //alert(value); turnInput = document.createElement("input"); turnInput.type = "hidden"; turnForm.appendChild(turnInput); turnInput.name = name; turnInput.value = value; } //3 提交 turnForm.action=url; turnForm.method = "post"; turnForm.submit(); }
结果要加上 13行 alert(allUrl);
的那一句才能正常执行,否则就报找不到action的错误。 太神奇了。求教。