2013-11-21 22 views
0

我有一个文本框的取消,我想创建text_changed事件确认消息,并且在确定执行不同的代码,并在text_changed事件执行不同的代码并确认消息

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

什么问题呢? –

+0

没问题,我知道这是可行的隐藏按钮,但我不想使用按钮 –

回答

0

窗口代码取消的背后.confirm返回一个布尔值,在您的按钮,你可以添加onclick="trigger_confirmation"

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

第一件事。没有按钮和第二如何使用它在代码后面 –

+0

您可以使用'onchange'属性的文本框('onchange =“trigger_confirmation”')。事实上,它实际上看起来像你已经有一个'ontextchanged'属性... –

+0

是的,我有ontextChanged,在代码后面我已经做了一些编码,并且我想在ontextchanged事件上有一个确认消息并执行代码在yes下有的代码,有的在ontextChanged事件下确认 –

0

实现自己的功能,你需要做以下

使您的文本框的AutoPostBack =“True”。

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

说明: 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 
      } 
     } 
0

试试你TextBox1_TextChanged块中的代码:

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