繁体   English   中英

如何在锚点上从客户端调用javascript函数

[英]how to call javascript function from client side on anchor click

我有javascript函数sample('textValue'),并且必须在服务器端调用锚点单击。 我尝试下面的代码

string text="xyz";
anchor.Attributes.Add("onclick","javascript:sample('"+text+"');

但是文本的值分配不正确。 编码字符串被添加。 视图源中的结果看起来像

javascript:sample('xyz')

但我需要javascript:sample('xyz')

您使用哪种服务器/后端语言? PHP的? 您是否使用任何框架(Zend,CakePHP ...)?

在JS方面,请执行以下操作:

选项1

<a href="/a_page" onclick="sample('text');">Test</a>

选项2

<a href="/a_page" id="clicky-clack-link">Test</a>
<script type="text/javascript">
    document.getElementById('clicky-clack-link').onClick = function() {
        sample('test');
    };
</script>

注意:如果还没有的话,也请查看jQuery

我想知道您是否可以这样做:

string text="xyz";
anchor.Attributes.Add("onclick", function(){ sample(text); } );

它有什么作用? 好吧, onclick处理程序接受一个没有参数的函数,对吗? 也就是说,如果有人单击链接该怎么办。 如果您是用HTML手工编写的,则可以使用javascript:a_statement_goes_here描述要运行的代码。 我希望浏览器会在其中创建一个函数。 由于您是使用JavaScript进行分配的,因此您必须自己做(除非您写出文档,否则可能会起作用)并分配函数。 但是您还没有这样的函数-您有一个带有参数的sample -因此匿名函数关闭了text参数。

这是基于以下假设:以上内容实际上是客户端代码。 如果JS不允许您将函数分配给属性,我会感到非常惊讶。 实际上,我认为您遇到的问题是JavaScript试图变得非常聪明,并确保分配一个字符串,并将其保留为一个字符串-这就是您'进行编码的原因。

快去,告诉我进展如何。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM