【问题标题】:How to run the javascript fn using OnClick button event (asp.net)如何使用 OnClick 按钮事件 (asp.net) 运行 javascript fn
【发布时间】:2012-01-31 23:02:03
【问题描述】:

我有一个输入按钮,单击该按钮时我调用了一个 javascript 函数。但我想向按钮添加图像所以我使用了图像按钮,但我无法从图像按钮调用 Javascript 函数。单击图像按钮时如何运行javascript fn

<input id="send" type="button" value=" Preview on iPhone " onclick="javascript:preview()">


   <asp:ImageButton  OnClick="preview()"  ID="send" runat="server" ImageUrl="Styles/Images/preview_iphone.png"
                                     OnMouseOut="this.src='Styles/Images/preview_iphone.png'"
                                    OnMouseOver="this.src='Styles/Images/preview_iphone_over.png'" />

【问题讨论】:

    标签: c# javascript asp.net


    【解决方案1】:

    试试OnClientClick="javascript:preview()",这是客户端点击的那个。

    from here

    【讨论】:

    • 是的,OnClick 调用服务器端事件,而 OnClientClick 查找客户端代码。
    • 我忘记了,但这是否也会冒泡到页面上的所有其他图像按钮?
    • @LaurenceBurke 唯一的方法是尝试编译它。如果页面显示onclick="javascript:preview()" 属性,那么它将搜索客户端脚本,就像一个简单的触发器一样,当纠正纯html时。
    • 记得让 javascript 函数 (preview()) 返回 false。否则按钮会返回一个 PostBack!
    【解决方案2】:

    你可以通过jQuery绑定点击事件,像这样

    $("#id_of_your_imagebutton").click(function(){
    //your code for event here
    });
    

    如果您使用 asp.net 4,您可以将 ClientIDMode="Static" 设置为您的 ImageButton 并获取 ID 的“发送”,或者如果您使用早期版本,您可以通过 FireBug 获取 ID

    【讨论】:

      【解决方案3】:

      你可以尝试这样,在代码隐藏文件中。

      Protected void Page_Load(object sender, EventArgs e) 
      {
         send.Attributes.Add("onclick", "javascript:preview(); return false;" ) // retruning false will avoid postback 
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-15
        • 1970-01-01
        • 1970-01-01
        • 2018-01-09
        相关资源
        最近更新 更多