确定执行不同的代码并取消确认消息

时间:2013-11-21 05:40:10

标签: c# javascript asp.net .net confirm

我有一个textBox,我想在text_changed事件上创建一个确认消息,并在ok上执行不同的代码,并在text_changed事件下的代码中取消

<asp:TextBox ID="TextBox1" runat="server"  ontextchanged="TextBox1_TextChanged"></asp:TextBox>

3 个答案:

答案 0 :(得分:0)

window.confirm返回一个布尔值,在你的按钮中你可以添加onclick="trigger_confirmation"

var trigger_confirmation = function(){
    if(window.confirm("Are you sure blah blah blah?")){
        // user confirmed
    } else {
        // user declined
    }
}

答案 1 :(得分:0)

要实现您的功能,您必须执行以下操作

使文本框的AutoPostBack =“True”。

添加一个隐藏的文件并添加java脚本,如下面的代码示例在aspx页面中。

注意: java脚本块必须在隐藏字段和文本框控件之后出现。

<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" 
                ontextchanged="TextBox1_TextChanged" ></asp:TextBox>

<script type="text/javascript">

                var textChange = document.getElementById('<%= TextBox1.ClientID %>').getAttribute("onchange");

                document.getElementById('<%= TextBox1.ClientID %>').setAttribute("onchange", "JustConfirm();");

                function JustConfirm() {
                    var IsConfirm = confirm('Confirm event?');
                    var hdnctrl = document.getElementById('<%= HiddenField1.ClientID %>');
                    hdnctrl.value = IsConfirm ? 'yes' : 'no';
                    eval(textChange);
                }
</script>

现在在服务器端将代码检查如下

protected void TextBox1_TextChanged(object sender, EventArgs e)
        {
            if (HiddenField1.Value == "yes")
            {
                // Any c# code for confirmation
            }
            else
            {
                // Any c# code for not confirmation
            }
        }

答案 2 :(得分:0)

TextBox1_TextChanged块中尝试此代码:

 ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script>if(window.confirm('Press ok to continue?')){// on ok clicked  }</script>");