[英]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.