用超链接提交表单,实现在动态网页的url中隐藏参数
动态网页中怎么隐藏url参数传递
我们在做动态网站的时候往往会在各个页面之间传递参数,而这些参数的名称和值都会在url地址栏中被暴露出来,这样一方面不安全,另一方面也不便于搜索引擎的收录,有的时候还有可能由于参数中含有中文而导致某些浏览器会出错(我发现在Firefox浏览器中用get方式传递中文参数时会出错)。所以我们有必要隐藏url参数传递,具体方法请看下面具体介绍。
隐藏url参数传递,思路是用表单来传递参数,把参数的值放在表单中,并把表单设为隐藏,然后用超链接来触发表单事件,从而把参数以post方式传递给另一个页面。
(1) 例: html文件为传递参数的页面,具体代码如下:
<input type=”hidden” name=”data1″ value=”http://www.htmer.com” />
<input type=”hidden” name=”data2″ value=”11″ />
</form>
<a href=”javascript:void(0)” onclick=”form1.submit()”>HTMer隐藏url参数传递</a>
说明:上面的代码中建立了一个名为htmer的表单,表单提交的页面为htmer.asp,这个表单中有两个隐藏域,分别名为data1和data2,我们的目的是将这两个隐藏域的值传递到htmer.asp页面中,上面代码中最关键的代码是最后一行,原理是用超链接来触发表单的submit提交事件。
(2) 例:最终的代码如下,希望对别人有点帮助。
<form name=“form1“ method=”post” action=”a.action”>
<input type=”hidden” name=”submit” value=”1″>
<input type=”submit” name=”test” value = “go” style=”display:none”> //隐藏一个按钮
<a href=”javascript:void(0)” onclick=”javascript:document.form1.test.click();”>测试主页 </a>
</form>
事实上,点击超链接之后,触发了点击按钮的动作,按钮提交了表单!