无法在按钮单击时将值传递给事件处理程序

时间:2012-07-07 19:17:59

标签: javascript jquery asp.net html

我为我的按钮点击设置了一个简单的eventhanlder,并在点击它时传递了两个参数。嗨是未定义的错误正在抛出。如果我把“嗨”(用双引号),事件处理程序根本不会发生。我可以知道需要解决的问题。

我需要完全按照我的要求在单击转发器行时传递类似<%#(string)DataBinder.Eval(Container, "DataItem.Category")%>的内容。

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
    <script type ="text/javascript" language = "javascript">
        function OnClickeHandler(i, j) {
            debugger;
        }
    </script>
        <form id="form1" runat="server">
        <div>
        <input type ="button" id = "myButton" value = "Click" onclick = "OnClickeHandler(1,Hi)" />
        </div>
        </form>
    </body>
    </html>

2 个答案:

答案 0 :(得分:1)

使用单引号将hi传递为字符串

的onClick =&#34; OnClickeHandler(1,&#39;您好&#39;)&#34;

在HTML中编写任何属性时,用双引号

单引号覆盖它们

如下所示两者都有效。

onclick="abc()" 
onclick='abc()'

JavaScript可以用单引号或双引号来掩盖刺痛,你还需要确保为什么传递字符串你不打破html。

以下所有内容均有效

onclick="abc('xyz')" 
onclick='abc("xyz")'
onclick="abc('x\'yz')"      ------ passing '  as string 
onclick='abc("xy\"z")'      ------ passing "  as string 

您只需要确保引用的内容用于覆盖您未在函数调用或属性值中使用的html属性。

答案 1 :(得分:1)

你需要把Hi放在单引号中:'嗨',因为对该函数的调用已经是双引号