【问题标题】:OnClick is not working when i do OnClientClick="function(); return false"当我执行 OnClientClick="function(); return false" 时,OnClick 不起作用
【发布时间】:2013-03-18 13:15:29
【问题描述】:

我有 5 个 asp:buttons,我想在单击它们时更改 css 类,以便它们被“标记”。我用javascript做这个,它工作正常。但我也想在 onClick 后面的代码中存储一个变量。

我的问题是,当我单击我的 asp:button 时,它会刷新页面。我在 OnClientClick 之后用 ;return false 解决了这个问题。但是当我返回 false 时,按钮 OnClick 不会触发。所以我需要帮助来让这两件事同时工作:

  • 按 asp:button 时页面不刷新,与
  • OnClick 也需要触发。

html

<asp:Button ID="Button1" runat="server" Text="1" OnClick="button1_Click" OnClientClick="change_select(this); return false;" CssClass="button black"/>

javascript

function change_select(objs) {

    $('.darkgray').removeClass('darkgray').addClass('black');
    objs.className = "button darkgray";

}

后面的代码

    int[] answerArray = new int[28];
    int answer = 0;
    int currentQ = 0;
 protected void button1_Click(object sender, EventArgs e)
    {         
            answer = 1;        
    }
protected void buttonNext_Click(object sender, EventArgs e)
    {
            answerArray[currentQ] = answer;
            currentQ++;  
    }

【问题讨论】:

  • 您想在不刷新页面的情况下触发服务器端事件处理程序?
  • 使函数返回真或假... & 使用 e.preventdefault
  • ajax 最适合你想要完成的工作

标签: javascript onclick onclientclick aspbutton


【解决方案1】:

如果您打算在使用 ASP.NET Webforms 的代码中存储值,则无法阻止刷新页面。请参阅此相关 SO 问题How to stop to reload page when click the button?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-23
    • 2013-11-30
    • 2016-05-18
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    相关资源
    最近更新 更多