a标签传值如何隐藏数据
1、我们在写a标签的href时,有的时候不希望被人看到我们提交的参数,这个时候有两种解决办法,一种是用ajax设置提交方式为post方式(如果已经在ajax方法中,需要使用ajax嵌套,这个时候需要在内层ajax中设置async:false,设置请求方式为同步)
2、另外一种方法是在href的js方法中创建form表单提交,并设置提交形式为post,具体代码如下
3、<body>
<a href="javascript:doPost("addStudent.action", {"name":"张三"})">提交</a>
<script>
function doPost(to, p) { // to:提交动作(action),p:参数
var myForm = document.createElement("form");
myForm.method = "post";
myForm.action = to;
for (var i in p){
4、 var myInput = document.createElement("input");
myInput.setAttribute("name", i); // 为input对象设置name
myInput.setAttribute("value", p[i]); // 为input对象设置value
myForm.appendChild(myInput);
}
document.body.appendChild(myForm);
myForm.submit();
document.body.removeChild(myForm); // 提交后移除创建的form
}
</script>
</body>
5、如果设置成JavaScript:function()的形式,这个时候target属性就会不起作用,原因是不同的浏览器对这两个属性的处理前后顺序不一致,这个时候想要解决的话有两种办法
6、跳转href是一般跳转:
此时你只需要在href的js方法中定义a标签的target属性即可
如果是采取的form表单的post提交跳转方式:
此时可以在form表单中设置属性
这时target属性才会生效。