none
ocultar elementos con jquery RRS feed

  • Pregunta

  • hola :

    tengo este codigo para validar email con jquery 

           $(document).ready(function () {
            
          
    $("[id*='Ibemail']").click(function () {
               
                if  ($("[id*='Txtremitemnte']").val() == '') {
                  
                    alert("debe ingresar email");
                }
                else
                  if (validar_email($("[id*='Txtremitemnte']").val())) {
                    alert("Email valido");
                } else {
                    alert("El email no es valido");
                }
            });


            function validar_email(valor) {
                // creamos nuestra regla con expresiones regulares.
                var filter = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
                // utilizamos test para comprobar si el parametro valor cumple la regla
                if (filter.test(valor))
                    return true;
                else
                    return false;
            }
        });

    el codigo anda perfecto .
    lo que qeuria hacer es : poner un label en el webform al costado del Txtremitemnte
    con un mensaje de error en vez del alert 
    para eso defini un label con la propiedad visible en falso 

    luego cuando entra en el if lo intento mostrar con 

     $("[id*='Lblerror']").show('slow');

    tmb probe con  $("[id*='Lblerror']").css("display", "block")

    pero no muestra el label.

    gracias por la ayuda 
    sábado, 16 de enero de 2016 11:57

Respuestas

  • El problema es que cuando pones la propiedad Visible de un control de servidor a False éste no se dibuja en la página. Es decir: no es que se cree el control html oculto, directamente no genera ningún tipo de código html.

    En lugar de utilizar la propiedad Visible deberías ocultarlo utilizando estilos css.

    Puedes utilizar la propiedad Style:

    Label1.Style.Add("display", "none");

    O aplicarle una clase css a través de la propiedad CssClass que oculte el elemento.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 16 de enero de 2016 12:08
  • hola

    Si la idea es solo mostrar un mensaje, porque en lugar de un label no usas un <div>, creo quee s mucho mas simple de trabajar

    <asp:Textbox id="Txtremitemnte" .. />
    
    <div id="remitenteError" style="display:none"> El email no es valido</div>


    entonces si podrias usar el show() de jquery

    $("#remitenteError").show('slow');

    ----

    lo que tambien recomendaria es que uses del developer tools del browser, al cual accedes con F12, he inspecciones al html generado para analizar que tag genera el label, de esta forma conocer como poder trabajarlo con jquery

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 16 de enero de 2016 12:58

Todas las respuestas

  • El problema es que cuando pones la propiedad Visible de un control de servidor a False éste no se dibuja en la página. Es decir: no es que se cree el control html oculto, directamente no genera ningún tipo de código html.

    En lugar de utilizar la propiedad Visible deberías ocultarlo utilizando estilos css.

    Puedes utilizar la propiedad Style:

    Label1.Style.Add("display", "none");

    O aplicarle una clase css a través de la propiedad CssClass que oculte el elemento.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 16 de enero de 2016 12:08
  • hola

    Si la idea es solo mostrar un mensaje, porque en lugar de un label no usas un <div>, creo quee s mucho mas simple de trabajar

    <asp:Textbox id="Txtremitemnte" .. />
    
    <div id="remitenteError" style="display:none"> El email no es valido</div>


    entonces si podrias usar el show() de jquery

    $("#remitenteError").show('slow');

    ----

    lo que tambien recomendaria es que uses del developer tools del browser, al cual accedes con F12, he inspecciones al html generado para analizar que tag genera el label, de esta forma conocer como poder trabajarlo con jquery

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 16 de enero de 2016 12:58