我有javascript函数示例('textValue')并且必须在锚点击时在服务器端调用。我试过下面的代码
string text="xyz";
anchor.Attributes.Add("onclick","javascript:sample('"+text+"');
但文本的值未正确分配。编码的字符串被添加。视图源中的结果类似于
javascript:sample('xyz')
但我需要javascript:sample('xyz')
答案 0 :(得分:0)
您使用什么服务器/后端语言? 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。
答案 1 :(得分:0)
我想知道你是否可以这样做:
string text="xyz";
anchor.Attributes.Add("onclick", function(){ sample(text); } );
它做什么?好吧,onclick
处理程序接受一个没有参数的函数,对吧?也就是说,如果有人点击链接,要做什么。如果您是在HTML中手动编写代码,则可以使用javascript:a_statement_goes_here
来描述要运行的代码。我希望浏览器只是创建一个功能。由于您是在JavaScript中进行分配,因此您必须自己(除非您写出文档 - 可能有效)并分配函数。但是你还没有这样的函数 - 你有一个sample
接受一个参数 - 因此匿名函数关闭了text
参数。
这是基于以下假设,即上述实际上是客户端代码。如果JS不允许您为属性分配函数,我会非常惊讶。事实上,我认为你遇到的问题是,JavaScript试图变得非常聪明,并确保分配字符串,将保持字符串 - 这就是你的'
被编码的原因。
去吧,告诉我它是怎么回事。的Ta!