关于JavaScript中的'this'关键字
问题描述:
在我的网页中,我有Linkbutton
与OnClientClick
事件,如下所示。关于JavaScript中的'this'关键字
<asp:LinkButton ID="lnkbtn" Text="Click" runat="server" OnClientClick="dosomething(this.Text)" />
,我已经定义的函数如下图所示在网页“页面
<script type="text/javascript">
function dosomething(ObjCntxt)
{
alert(ObjCntxt.toLocaleString());
var textval = ObjCntxt;
alert(textval.value);
}
</script>
的头部,当我运行的页面,并在LinkButton
点击我得到的消息undefined
。
我请求大家亲切地解决我的问题。
感谢&问候。
答
这个工作对我来说:
<script type="text/javascript" language="javascript">
function doSomething(ObjCntxt) {
alert(ObjCntxt); // Text
alert(ObjCntxt.toLocaleString()); // Text
alert(ObjCntxt.toString()); // Text
alert(ObjCntxt.value); // undefiend
}
</script>
<asp:LinkButton ID="lnkbtn" Text="Click" runat="server" OnClientClick="doSomething(this.text);">Text</asp:LinkButton>
记住,的doSomething
内容的JavaScript,而不是.NET,所以你应该使用JavaScript的成员,如this.text
不this.Text
你有什么期望来自ObjCntxt.value
??圣诞礼物?
答
试试这个
<script type="text/javascript" language="javascript">
function doSomething(ObjValue) {
alert(ObjValue); // Text
}
</script>
<asp:LinkButton ID="lnkbtn" Text="Click" runat="server" OnClientClick="doSomething(this.value);">Text</asp:LinkButton>
你有JavaScript和HTML的一个问题,但你向我们展示JavaScript和ASP。如果您将您的问题改为“为什么ASP不生成此HTML?”,则回答起来会更容易(并且不需要知道许多域)。或者“为什么这个HTML与我所期望的这种JavaScript没有交互?” – Quentin 2010-11-26 10:17:04
onClientClick属性的值是多少? – jerjer 2010-11-26 10:21:05