asp怎么在超链接中调用函数

代码如下:<li><ahref="#"onclick="myclick()">HS类别表管理</a></li><scriptlanguage="javascript"><... 代码如下: <li><a href="#" onclick="myclick()">HS类别表管理</a></li>
<script language="javascript">
<!--
var pp = <%=Session["username"]%>;
function myclick()
{
if (pp==null)
{
Response.Write("<script language=javascript>alert('你还没登陆,请先登陆!!');</script>");
Response.Write("<script language=javascript>javascript:location.href='Login.aspx'</script>");
}
else
{
Response.Write("HSnum.aspx");
}
}
-->
</script>

出现:Microsoft JScript 运行时错误: “myclick”未定义的错误
展开
 我来答
育知同创教育
2016-01-28 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
超链接中调用函数也就是在href中写:
a标签中有点击事件:
1. a href="javascript:js_method();"

这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句

2. a href="javascript:void(0);" onclick="js_method()"

这种方法是很多网站最常用的方法,也是最周全的方法,onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏。

3.a href="javascript:;" onclick="js_method()"

这种方法跟跟2种类似,区别只是执行了一条空的js代码。

4.a href="#" onclick="js_method()"

这种方法也是网上很常见的代码,#是标签内置的一个方法,代表top的作用。所以用这种方法点击后网页后返回到页面的最顶端。

5.a href="#" onclick="js_method();return false;"

这种方法点击执行了js函数后return false,页面不发生跳转,执行后还是在页面的当前位置。

我看了下taobao的主页,他们采用的是第2种方法,而alibaba的主页是采用的第1种方法,和我们的区别是每个href里的javascript方法都用try、catch包围。

综合上述,在a中调用js函数最适当的方法推荐使用:
a href="javascript:void(0);" onclick="js_method()"
a href="javascript:;" onclick="js_method()"
a href="#" onclick="js_method();return false;"
chenrongchun89
推荐于2016-06-03 · 超过84用户采纳过TA的回答
知道小有建树答主
回答量:285
采纳率:0%
帮助的人:140万
展开全部
比较有才的一段代码,我说怎么提示response.write也有错误,原来javascript代码里居然还写了asp的代码,然后那个pp的只应该判断是否为空吧,我判断为null没有,为空才可以,我用的是asp的页面,不知道呢aspx是否也是这样

ar pp = <%=Session["username"]%>;应该是改成ar pp = "<%=Session["username"]%>";少了双引号

我写完的asp代码是这样的,你看着改吧
<li><a href="#" onclick="myclick()">HS类别表管理</a></li>
<script language="javascript">
var pp = "<%=Session("username")%>";
function myclick()
{
if (pp=="")
{
alert("你还没登陆,请先登陆!!")
window.navigate("login.aspx");
}
else
{
window.navigate("HSnum.aspx");
}
}
</script>
追问
根据你说的,真的可以了,感谢了!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wljkcpf
2014-05-12 · TA获得超过1016个赞
知道小有建树答主
回答量:933
采纳率:0%
帮助的人:770万
展开全部
如果是用户空间里面写的,那就把JS写到代码的最上面去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-05-12
展开全部
把js写在最语句的上面head里
追问
我是在用户控件里写的,没有head
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式