none
Llamar javascript "onkeypress" desde codebehind usando el ClientScript RRS feed

  • Pregunta

  • Buenas estimados, estoy usando funciones javascript el cual llamo desde el clientscript, por ejemplo si deseo mostrar una alerta me trabaja con normalidad, cuando presiono el boton me envia la alerta, pero el problema es el siguiente:
    tengo una funcion que solo va a permitir el ingreso de letras 

    function soloLetras(e) {
                key = e.keyCode || e.which;
                tecla = String.fromCharCode(key).toLowerCase();
                letras = " áéíóúabcdefghijklmnñopqrstuvwxyz";
                especiales = "8-37-39-46";
    
                tecla_especial = false
                for (var i in especiales) {
                    if (key == especiales[i]) {
                        tecla_especial = true;
                        break;
                    }
                }
    
                if (letras.indexOf(tecla) == -1 && !tecla_especial) {
                    return false;
                }
            }

    y cuando trato de llamarlo:

    protected void Button1_Click(object sender, EventArgs e)
            {
                string valor = TextBox1.Text;
                //ClientScript.RegisterStartupScript(this.GetType(), "Mensaje", "alerta();",true); (ESTA COMENTADO PORQUE ACA ME FUNCIONA OK PERO SOLO MUESTRA MENSAJE)
                ClientScript.RegisterStartupScript(this.GetType(), "Mensaje", "soloLetras(event);", true); //ACA EXISTE EL PROBLEMA.
            }


    Del Castillo Victor Andres - Lima Peru

    viernes, 9 de junio de 2017 20:27

Respuestas

  • hola

    pero en el click del boton del lado del servidor solo estas registrando la funciona, con ese codigo no asignas el onkeypress

    quizas debas en el page_load usar algo como ser

    textbox1.Attributes["onkeypress"] = "soloLetras(this);";

    de esta forma asocias el codigo de la funciona al evento

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta VikDelCastillo viernes, 9 de junio de 2017 22:50
    viernes, 9 de junio de 2017 20:57
  • El código correcto es: 

    TextBox3.Attributes.Add("onkeypress", "javascript:return soloLetras(event); ");

    De igual manera gracias por la guia Leandro! Saludos.


    Del Castillo Victor Andres - Lima Peru

    viernes, 9 de junio de 2017 22:51

Todas las respuestas

  • hola

    pero en el click del boton del lado del servidor solo estas registrando la funciona, con ese codigo no asignas el onkeypress

    quizas debas en el page_load usar algo como ser

    textbox1.Attributes["onkeypress"] = "soloLetras(this);";

    de esta forma asocias el codigo de la funciona al evento

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta VikDelCastillo viernes, 9 de junio de 2017 22:50
    viernes, 9 de junio de 2017 20:57
  • El código correcto es: 

    TextBox3.Attributes.Add("onkeypress", "javascript:return soloLetras(event); ");

    De igual manera gracias por la guia Leandro! Saludos.


    Del Castillo Victor Andres - Lima Peru

    viernes, 9 de junio de 2017 22:51