gpt4 book ai didi

javascript - 单击按钮时,不会引发 OnClientClick 事件

转载 作者:行者123 更新时间:2023-11-28 07:18:13 25 4
gpt4 key购买 nike

我有一个像这样的js函数:

<script type="text/javascript">
function Cols() {
rows = document.getElementById("GridView1").rows;
for (i = 0; i < rows.length; i++) {
rows[i].cells[8].style.visibility = "visible";
rows[i].cells[9].style.visibility = "visible";
rows[i].cells[10].style.visibility = "visible";
rows[i].cells[11].style.visibility = "visible";
rows[i].cells[12].style.visibility = "visible";
rows[i].cells[13].style.visibility = "visible";
rows[i].cells[14].style.visibility = "visible";
}
}

</script>

这个按钮带有 OnClientClick 事件:

<asp:Button ID="Add_Button" runat="server" OnClick="Add_Button_Click" Text="Add New Record" OnClientClick="Cols()" />

我的函数中的单元格指的是我希望在服务器端的 OnClick 事件之前在客户端上显示的 Gridview 列,这使得我的 GridView 页脚行可见,页脚行用于插入新行.

编辑:所以这是我最初的问题:单击按钮时,我想让其他列可见,然后使页脚行在同一单击事件中可见。然而,在事件引发后,额外的列可见,但页脚行不可见,直到我再次单击该按钮。

这是我的点击事件:

protected void Add_Button_Click(object sender, EventArgs e)
{
if (GridView1.FooterRow.Visible == false)
{

GridView1.FooterRow.Visible = true;
Add_Button.Text = "Cancel";
Panel2.Visible = false;

}
else
{
GridView1.FooterRow.Visible = false;
Add_Button.Text = "Add New Record";
GridView1.Columns[10].Visible = false;
GridView1.Columns[11].Visible = false;
GridView1.Columns[12].Visible = false;
GridView1.Columns[13].Visible = false;
GridView1.Columns[14].Visible = false;
GridView1.Columns[15].Visible = false;
GridView1.Columns[16].Visible = false;
}

}

但是,当我单击按钮时,会引发 OnClick 事件,但不会引发 OnClientClick。为什么会发生这种情况?

最佳答案

您需要取消按钮的默认操作,即回发。

改成这样(注意return false部分):

<asp:Button ID="Add_Button" runat="server" OnClick="Add_Button_Click" Text="Add New Record" OnClientClick="Cols(); return false;" />

关于javascript - 单击按钮时,不会引发 OnClientClick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30607717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com