使用javascript更改MaskedEditExtender的umask值

时间:2010-02-27 05:03:48

标签: javascript asp.net-ajax

我需要帮助将java脚本与更新面板一起使用。 我在Web内容表单的更新面板中有一个带有MaskedEditExtender的复选框,文本框。 当我选中复选框而不使用java脚本为更新面板做回传时,我想更改MaskedEditExtender的掩码,所以任何人都可以帮助我。

这是我的代码:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

<script src="~/js/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">


</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<p style="height: 1480px; width: 953px">
 &nbsp;<asp:UpdatePanel ID="UPanelContacts" runat="server">

    <ContentTemplate>
        <asp:Panel ID="PContactsInfo" runat="server" GroupingText="Personal Information"
            BorderStyle="Dotted" Style="position: absolute; top: 103px; left: 221px; height: 468px;
            width: 811px; margin-top: 69px;">
 <asp:TextBox ID="txtMobileHome" runat="server" Style="top: 226px; left: 550px; position: absolute;
                height: 22px; width: 128px"></asp:TextBox>
 <cc1:MaskedEditExtender ID="txtMobileHome_MaskedEditExtender" runat="server" CultureAMPMPlaceholder=""
                CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder=""
                CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""
                Enabled="True" TargetControlID="txtMobileHome" Mask="(999)999-9999">
            </cc1:MaskedEditExtender>
            <asp:RegularExpressionValidator ID="REV_HomeMobile" runat="server" ErrorMessage="Please enter valid Mobile Number "
                ControlToValidate="txtMobileHome" ValidationExpression="\d{3}\d{3}\d{4}" Style="position: absolute;
                top: 248px; left: 501px; margin-bottom: 0px; height: 21px;">    
   </asp:RegularExpressionValidator>

 <asp:CheckBox ID="chkIntphoneHome" runat="server" Text="Internation Code" Style="position: absolute;
                top: 113px; left: 549px;"  
                oncheckedchanged="chkIntphoneHome_CheckedChanged" AutoPostBack="True" 
                 />

                              

        <asp:AsyncPostBackTrigger ControlID="chkIntMobileHome" 
            EventName="CheckedChanged" />



    </Triggers>
 </asp:UpdatePanel>
</p>
 </asp:Content>

1 个答案:

答案 0 :(得分:0)

<asp:CheckBox ID="chkIntphoneHome" runat="server" Text="Internation Code" Style="position: absolute;
            top: 113px; left: 549px;"  
            oncheckedchanged="chkIntphoneHome_CheckedChanged" onAutoPostBack="True" onchange="javascript:CallMe()"
             />
   <script>
    function CallMe() {
        if (document.getElementById('CheckBox1').checked) {
            $find("txtMobileHome_MaskedEditExtender").set_Mask("99.9");
            $find("txtMobileHome_MaskedEditExtender")._convertMask();
            //for checking that mask value has been changed or not
            alert($find("txtMobileHome_MaskedEditExtender").get_Mask());
        }
        else {
            $find("txtMobileHome_MaskedEditExtender").set_Mask("99.9999");
            $find("txtMobileHome_MaskedEditExtender")._convertMask();
            //for checking that mask value has been changed or not
            alert($find("txtMobileHome_MaskedEditExtender").get_Mask());
        }
    }
   </script>

或者像这样

<asp:CheckBox ID="chkIntphoneHome" runat="server" Text="Internation Code" Style="position: absolute;
        top: 113px; left: 549px;"  
        oncheckedchanged="chkIntphoneHome_CheckedChanged" onAutoPostBack="True" onchange="javascript:CallMe()"
         />
    <script>
     function CallMe() {
         if (document.getElementById('CheckBox1').checked) {

            $find("MaskedEditExtender1")._MaskConv = "99.9";
            //for checking that mask value has been changed or not
            alert($find("txtMobileHome_MaskedEditExtender").get_Mask());
        }
        else {
            $find("MaskedEditExtender1")._MaskConv = "99.9999";
        //for checking that mask value has been changed or not
        alert($find("txtMobileHome_MaskedEditExtender").get_Mask());
    }
}