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

Not able to pass values to event handler on button click

本文关键字:值传 事件处理 程序 单击 按钮      更新时间:2023-09-26

我为我的按钮单击放置了一个简单的eventhanlder,并在单击它时传递了两个参数。嗨,未定义的错误正在抛出。如果我输入"Hi"(双引号),事件处理程序根本不会触发。我可以知道需要解决什么问题。

我需要这个,就像我的要求一样,当单击中继器行时,我必须传递类似 <%#(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>

您需要将Hi放在单引号中:"Hi",因为对该函数的调用已经在双引号中

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

Onclick="OnClickeHandler(1,'Hi')"

在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属性的引用不会在函数调用或属性值中使用它。