用超链接提交表单,实现在动态网页的url中隐藏参数

时间:2021-07-16 09:43:47

动态网页中怎么隐藏url参数传递

  我们在做动态网站的时候往往会在各个页面之间传递参数,而这些参数的名称和值都会在url地址栏中被暴露出来,这样一方面不安全,另一方面也不便于搜索引擎的收录,有的时候还有可能由于参数中含有中文而导致某些浏览器会出错(我发现在Firefox浏览器中用get方式传递中文参数时会出错)。所以我们有必要隐藏url参数传递,具体方法请看下面具体介绍。

  隐藏url参数传递,思路是用表单来传递参数,把参数的值放在表单中,并把表单设为隐藏,然后用超链接来触发表单事件,从而把参数以post方式传递给另一个页面。

  (1) 例: html文件为传递参数的页面,具体代码如下:

<form name=" form1" method="post" action="a.action">
  <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> 

事实上,点击超链接之后,触发了点击按钮的动作,按钮提交了表单!