JavaScript在ASP上确认.网络按钮控制
本文关键字:网络 按钮 控制 确认 ASP JavaScript | 更新日期: 2023-09-27 18:12:32
我在做一个ASP。. Net c#应用程序,我想创建一个按钮控件,当用户单击按钮时,一个JavaScript确认弹出,然后从用户获得布尔值(Yes/No),以便在Button onClick事件中执行进一步的操作。
我目前的方法是在按钮中添加OnClientClick和OnClick事件,其中OnClientClick触发JavaScript函数和(Yes/No)值存储到HiddenField控件中,以便在OnClick事件期间使用。
类似于以下代码片段:
function CreatePopup(){
var value = confirm("Do you confirm?");
var hdn1 = document.getElementById('hdn1');
hdn1.Value = value;
}
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" OnClientClick="CreatePopup()"/>
<asp:HiddenField ID="hdn1" runat="server" />
是否有更好的方法来做到这一点?
将CreatePopup()函数改为返回布尔值:
function CreatePopup()
{
return confirm("Do you confirm?");
}
然后确保从按钮中的OnClientClick()
返回:
<asp:Button ... OnClientClick="return CreatePopup();" />
使用该方法,OnClick()
方法只会在OnClientClick()
方法返回true时触发。
为什么要将JavaScript确认的值存储在隐藏字段中?当确认值为"no"时,只需在JavaScript函数中返回false,以防止表单提交。当confirm值为yes时,返回true以允许提交表单。在button_click方法后面的代码中,您不必检查JavaScript确认中发生了什么,因为如果用户说no,表单将永远不会提交。