none
evento Textchanged de un @Html.Texbox RRS feed

  • Pregunta

  • Buen tarde, no he trabajado mucho con helpers y hasta ahora solo he visto la forma de validarlos desde DataAnotations, pero en mi caso requiero de ejecutar una función en el evento textchanged o su equivalente en mvc; tal vez onchange, para lo cual he provado con jquery

     $('#txtDiagnostico').change(function (){
            if ($('#txtDiagnostico').length > 3) {
                //llamar un proceso con ajax;
            }
            else {
               // bloquear el postback de la pagina;
    return false;
            }        
            });

    pero nunca entra al evento


    La programacion en Microsoft cada ves se torna inalcanzable


    domingo, 26 de mayo de 2019 20:55

Todas las respuestas

  • hola

    Si inspeccionas el html en el browser con la developer tools (la cual accedes con F12) puede ver que el id del textbox es txtDiagnostico ? eso e slo primero a validar

    Por otro lado ese jquery que defines debe estar dentro del "ready" para que asocie el evento

    <script>
    
      $(function(){
    
          $('#txtDiagnostico').change(function (){
    
                //codigo
    
           });
    
      });
    
    </script>

    Ese $(function() { ...  es el ready

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 27 de mayo de 2019 3:06
  • hola

    Si inspeccionas el html en el browser con la developer tools (la cual accedes con F12) puede ver que el id del textbox es txtDiagnostico ? eso e slo primero a validar

    Por otro lado ese jquery que defines debe estar dentro del "ready" para que asocie el evento

    <script>
    
      $(function(){
    
          $('#txtDiagnostico').change(function (){
    
                //codigo
    
           });
    
      });
    
    </script>

    Ese $(function() { ...  es el ready

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Buen dia sr. Leandro, como comenta si verifiqué el id del textBox es correcto. Al decir verdad si entra.

    Así es como lo asocié al evento

     @Html.TextBox("txtDiagnostico", (string)ViewBag.Descripcion, new { onchange="TextChanged();"})

    y así es como tengo el javascript completo:

    <script type ="text/javascript" >
        $(document).ready(function TextChanged() {
       
            if ($('#txtDiagnostico').length > 3) {
                alert('longitud caracteres' + $('#txtDiagnostico').length);
                return true;
            }
            else {
                alert('sin escribir textcheged');           
                return false;   // bloquear el postback de la pagina;
            }
            return false;
            });
        </script>
    Sin embargo solo entra al else y únicamente al precionar tecla enter sobre el control


    La programacion en Microsoft cada ves se torna inalcanzable

    lunes, 27 de mayo de 2019 15:58