• Domingo 22 de Diciembre de 2024, 13:54

Autor Tema:  javascrip / update panel / control de usuarios  (Leído 2747 veces)

leodimonio

  • Nuevo Miembro
  • *
  • Mensajes: 3
  • Nacionalidad: ar
  • el Ticky Fidel
    • Ver Perfil
javascrip / update panel / control de usuarios
« en: Jueves 13 de Septiembre de 2012, 21:23 »
0
tengo el siguiente inconveniente, yo esto utilizando un control que a su vez utiliza otro que tiene una mascara de javascript, el tema este, en mi primer control yo tengo un radio button que genera un postback, el problema es que si yo lo agrego como asyncronico con el evento CheckedChanged, el foco de la pagina se mantiene pero la mascara no se me muestra, y si lo hago postback me carga la mascara, pero el foco de la pantalla se me va para  arriba, ya no se que porbar, necesito ayuda, saludos
La vida es una sucesion de fracasos, hasta que empiezas a desear que Flanders se muera

.net

  • Miembro MUY activo
  • ***
  • Mensajes: 181
  • Nacionalidad: mx
    • Ver Perfil
Re:javascrip / update panel / control de usuarios
« Respuesta #1 en: Sábado 15 de Septiembre de 2012, 20:57 »
0
No entiendo la mascara aque la estas aplicando ?
La lógica lleva a más lógica

Apoyo a un mundo OPEN SOURCE!!!

Eso si es el paraíso

leodimonio

  • Nuevo Miembro
  • *
  • Mensajes: 3
  • Nacionalidad: ar
  • el Ticky Fidel
    • Ver Perfil
Re:javascrip / update panel / control de usuarios
« Respuesta #2 en: Martes 25 de Septiembre de 2012, 16:41 »
0
la mascara se la estoy aplicando a un TextBox
te paso el codigo del webusercontrol
<script type="text/javascript">
    $(document).ready(function () {
        jqMeioMaskHelper.showMask('<%=txtMaskEdit.ClientID %>'
                                 , $("#<%=hdnFormatoMascara.ClientID%>").val()
                                 , $("#<%=hdnDefaultValue.ClientID%>").val()
                                 , $("#<%=hdnLongitud.ClientID%>").val()
                                 , $("#<%=hdnFixedChars.ClientID%>").val()
                                 );
    });

    $(".campoMascara").live('focus', function () {
        txtMaskEditID = $(this).attr('id');
        hdnFormatoMascara = $(this).next();
        hdnDefaultValue = hdnFormatoMascara.next();
        hdnLongitud = hdnDefaultValue.next();
        hdnFixedChars = hdnLongitud.next();

        jqMeioMaskHelper.showMask(txtMaskEditID, hdnFormatoMascara.val(), hdnDefaultValue.val(), hdnLongitud.val(), hdnFixedChars.val());
    });

    function validarLongitud(oSrc, args) {
        var defaultValue = $("#" + oSrc.controltovalidate.replace('txtMaskEdit', 'hdnFormatoMascara')).val();
        var longitud = $("#" + oSrc.controltovalidate.replace('txtMaskEdit', 'hdnLongitud')).val();
        var mskValor = getUnmaskedVal(oSrc.controltovalidate);
        var ignoreThis = $("#" + oSrc.controltovalidate.replace('txtMaskEdit', 'hdnIgnoreThis')).val();
        args.IsValid = (longitud == '' || mskValor.length == longitud || mskValor.length == 0 || mskValor.length == ignoreThis.length);
    };

    //Retorna el valor ingresado sin la máscara.
    function getUnmaskedVal(idMaskEdit) {
        //Obtengo el id del hdn que contiene los fixed chars
        var idFixedChar = idMaskEdit.replace('txtMaskEdit', 'hdnFixedChars')
        var ignoreThis=$("#"+idMaskEdit.replace('txtMaskEdit', 'hdnIgnoreThis')).val();
        //Obtengo los caracteres de relleno de la máscara y elimino los '[]'.               
        var fikedChars = $('#'+idFixedChar).val().replace('[', "").replace(']', "").split("");
        //Elimino los caracteres '_' correspondientes al default value.
        var unmaskedVal = $('#' + idMaskEdit).val().replace(/_/g, "");
        //Elimino los caracteres de relleno para obtener el valor del campo sin la máscara       
        $.each(fikedChars, function (index, value) {
            if (value != ignoreThis) {
                var fChar = new RegExp(value, 'g');
                unmaskedVal = unmaskedVal.replace(fChar, "");
            }           
        });
        return unmaskedVal;
    };

    function validarRequerido(oSrc, args) {
        var unmaskedVal = getUnmaskedVal(oSrc.controltovalidate);
        args.IsValid =  (unmaskedVal.length != 0);
    };
</script>

<asp:TextBox ID="txtMaskEdit" runat="server" CssClass="campoMascara"  ontextchanged="txtMaskEdit_TextChanged"></asp:TextBox>
<asp:HiddenField ID="hdnFormatoMascara" runat="server" />
<asp:HiddenField ID="hdnDefaultValue" runat="server" />
<asp:HiddenField ID="hdnLongitud" runat="server" />
<asp:HiddenField ID="hdnFixedChars" runat="server" />
<asp:HiddenField ID="hdnIgnoreThis" runat="server" />

<asp:CustomValidator
    id="rfvMaskEdit"
    Text="(*)"
    InitialValue=""
    ControlToValidate="txtMaskEdit"
    Display="Dynamic"
    ErrorMessage="(*)"
    Runat="server"
    Enabled ="false"
    ClientValidationFunction="validarRequerido" />
<asp:CustomValidator
    ID="cvMaskEdit"
    runat="server"
    ErrorMessage="Debe ingresar x dígitos."
    Text="Debe ingresar 15 dígitos."
    Display="Dynamic"
    ControlToValidate="txtMaskEdit" ClientValidationFunction="validarLongitud"
    EnableClientScript="true" onservervalidate="cvMaskEdit_ServerValidate"/>
La vida es una sucesion de fracasos, hasta que empiezas a desear que Flanders se muera