从C#异步回调后检测文本框更改

时间:2017-01-17 14:11:31

标签: javascript c# asp.net events client-server

对此有很多解决方案,但我认为这有点不同。

点击格栅行后,右侧的“Estado”字段(状态)会自动完成。我想根据该字段隐藏/显示图标。

我已尝试使用onChange atribbute,但不起作用,必须“手动”编写 我也试过了这个页面中的一些jquery函数,但它没有检测到这个事件 最后,我试图改变cs文件中图标的可见性,但它不是同步的,客户端没有得到事件。

我还能做什么?

非常感谢

(1)

(2)

Fusion只是一个框架,与具有更多功能的文本框相同

<Fusion:CampoTexto   runat="server" onChange="alerta();"  ID="campoEstadoTarjeta" Requerido="false" Width="200" CssClass="Campo" 


<script>
    function alerta(){
       alert("asd"
    }
</script

这不起作用:

$(document).ready(function () {
           $('#campoEstadoTarjeta').change(function () { alert('test'); });
       });

2 个答案:

答案 0 :(得分:0)

尝试这样的事情,这应该对你有用

<Fusion:CampoTexto runat="server" ID="campoEstadoTarjeta" Requerido="false" Width="200" CssClass="Campo" 

$("#campoEstadoTarjeta'").keyup(function(){
    alert("this works");
});

因此,每次按键完成后,该事件将会触发,您应该可以执行您想要执行的操作。

如果您正在寻找另一个具有该值的文本框,那么您可以执行类似这样的操作

 $("#campoEstadoTarjeta'").keyup(function(){
    $("#myOtherTextBox").val($("#campoEstadoTarjeta'").val());
 });

答案 1 :(得分:-1)

控件中的Async PostBack位于UpdatePanel内部后,JavaScript侦听器将丢失。您需要重新注册TextBox。

将侦听器绑定包装在函数中。

<script type="text/javascript">
    bindFunction();

    function bindFunction() {
        $("#<%= campoEstadoTarjeta.ClientID %>").keyup(function () {
            alert('test')
        });
    }
</script>

然后在Async PostBack之后调用该函数。

protected void ButtonInsideUpdatePanel_Click(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "bindFunction", "bindFunction();", true);
}