蒙面输入插件不工作 [英] Masked Input Plugin not working

查看:108
本文介绍了蒙面输入插件不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

编辑:我发现这固定我的问题在这个环节的答案
<一href=\"http://stackoverflow.com/questions/18915853/how-to-make-jquery-masked-input-plugin-working-after-asyncpostback-in-asp-net-aj\">How使JQuery的蒙面输入在asp.net阿贾克斯更新潘内尔AsyncPostback后插件的工作?

我使用这个插件
http://digitalbush.com/projects/masked-input-plugin/

我的参考:

 &LT;脚本的src ='&LT;%#RESOLVEURL(〜/脚本/ jQuery的-maskedInput-1.3.1.js)%&GT;'类型=文/ JavaScript的&GT;&LT; / SCRIPT&GT;

我有我的功能脚本

  $(函数(){
        $('&LT;%= txtPhoneNum.ClientID%GT;')掩码((999)999-9999);
               });

和一个窗格中/我的UpdatePanel TextBox控件/的ContentTemplate

 &LT; ASP:面板ID =PanelAddPhoneNumber=服务器风格=显示:无;最小宽度:500像素;最小高度:500像素;标题=添加电话号码&GT;
    &LT; ASP:的UpdatePanel ID =UpdatePanelAddPhoneNums=服务器的UpdateMode =始终&GT;
        &LT;&的ContentTemplate GT;            &LT;表&gt;
                &所述; TR&GT;
                    &所述; TD&GT;
                        &LT; ASP:标签ID =Label21=服务器文本=手机类型:/&GT;
                    &LT; / TD&GT;
                    &所述; TD&GT;
                        &LT; ASP:DropDownList的=服务器ID =dropDownListPhoneType/&GT;
                    &LT; / TD&GT;
                &LT; / TR&GT;
                &所述; TR&GT;
                    &所述; TD&GT;
                        &LT; ASP:标签ID =Label28=服务器文本=电话号码:/&GT;
                    &LT; / TD&GT;
                    &所述; TD&GT;
                        &LT; ASP:文本框=服务器ID =txtPhoneNum类型=文本的AutoPostBack =真WIDTH =300/&GT;
                    &LT; / TD&GT;
                &LT; / TR&GT;
            &LT; /表&gt;
            &LT; D​​IV的风格=文本对齐:中心;&GT;
                &LT; BR /&GT;
                &LT; BR /&GT;
                &LT; BR /&GT;
                &LT; ASP:按钮的ID =btnAddPhoneNum=服务器的OnClientClick =ButtonCancelClient();的OnClick =btnAddPhoneNum_Click文本=添加/&GT;
                &LT; ASP:按钮的ID =btnCancelPhoneNum=服务器的OnClientClick =ButtonCancelClient();的OnClick =btnCancelPhoneNum_Click文本=取消/&GT;
                &LT; ASP:按钮的ID =btnDeletePhoneNum=服务器的OnClick =btnDeletePhoneNum_Click文本=删除可见=假的OnClientClick =检查(); /&GT;
            &LT; / DIV&GT;
        &LT; /&的ContentTemplate GT;
        &LT;&触发器GT;
            &LT; ASP:AsyncPostBackTrigger控件ID =btnAddPhoneNum事件名称=点击/&GT;
            &LT; ASP:AsyncPostBackTrigger控件ID =btnCancelPhoneNum事件名称=点击/&GT;
        &LT; /触发器&GT;
    &LT; / ASP:的UpdatePanel&GT;
&LT; / ASP:面板&gt;

但是当我点击我txtPhone控制,没有面具或任何..它什么都不做。

我试图在功能从txtPhone.ClientID只是txtPhone心不是改变了我的名字,我想这可能是参考,但自从我使用像其他5引用到同一个文件夹中的.js文件和他们的工作,我参考的拼写是正确的,但我真的不知道为什么这个心不是工作。

这些是在项目中所使用的所有的.js
    F
        
    相对=样式
        类型=文/ CSS=服务器/>
    相对=样式
        类型=文/ CSS=服务器/>
            相对=样式
        类型=文/ CSS=服务器/>
    类型=文/ JavaScript的>
    类型=文/ JavaScript的>
        类型=文/ JavaScript的>
    类型=文/ JavaScript的>

 &LT;脚本的src ='&LT;%#RESOLVEURL(〜/脚本/ jQuery的-UI-1.10.1.custom.min.js)%&GT;'类型=文/ JavaScript的&GT;&LT; / SCRIPT&GT;        &LT;脚本的src ='&LT;%#RESOLVEURL(〜/脚本/ jQuery的-maskedInput-1.3.1.js)%&GT;'类型=文/ JavaScript的&GT;&LT; / SCRIPT&GT;


解决方案

请确保您加载的jQuery核心库和UI库:

这些库必须先加载(这只是一个例子,使用任何版本,preFER但你需要的jQuery加载)

 &LT;脚本的src =// code.jquery.com / jQuery的-1.9.1.js&GT;&LT; / SCRIPT&GT;
  &LT;脚本的src =// code.jquery.com / UI / 1.10.4 / jQuery的-ui.js&GT;&LT; / SCRIPT&GT;

这是不正确的:

  $(函数(){
    $('&LT;%= txtPhoneNum.ClientID%GT;')掩码((999)999-9999);
           });

您需要用#中使用,需要prefex的elementId:

  $(文件)。就绪(函数(){
    $('#&LT;%= txtPhoneNum.ClientID%GT;')掩码((999)999-9999);
});

确保您加载的jQuery库不只是MASKED插件我没有看到你这样做。

EDIT: I found the the answer which fixed my issue at this link How to make JQuery masked-input plugin working after AsyncPostback in asp.net Ajax Update pannel?

I am using this plugin http://digitalbush.com/projects/masked-input-plugin/

My reference:

<script src='<%# ResolveUrl("~/Scripts/jquery-maskedInput-1.3.1.js")%>' type="text/javascript"></script>

I have my function in a script

    $(function () {
        $('<%= txtPhoneNum.ClientID %>').mask("(999) 999-9999");
               });

and my textbox control in a pane/updatepanel/contentTemplate

<asp:Panel ID="PanelAddPhoneNumber" runat="server" Style="display: none; min-width: 500px; min-height: 500px;" Title="Add Phone Numbers">
    <asp:UpdatePanel ID="UpdatePanelAddPhoneNums" runat="server" UpdateMode="Always">
        <ContentTemplate>

            <table>
                <tr>
                    <td>
                        <asp:Label ID="Label21" runat="server" Text="Phone Type:" />
                    </td>
                    <td>
                        <asp:DropDownList runat="server" ID="dropDownListPhoneType" />
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="Label28" runat="server" Text="Phone Number:" />
                    </td>
                    <td>
                        <asp:TextBox runat="server" ID="txtPhoneNum" type="text" AutoPostBack="true" Width="300" />
                    </td>
                </tr>
            </table>
            <div style="text-align: center;">
                <br />
                <br />
                <br />
                <asp:Button ID="btnAddPhoneNum" runat="server" OnClientClick="ButtonCancelClient();" OnClick="btnAddPhoneNum_Click" Text="Add" />
                <asp:Button ID="btnCancelPhoneNum" runat="server" OnClientClick="ButtonCancelClient();" OnClick="btnCancelPhoneNum_Click" Text="Cancel" />
                <asp:Button ID="btnDeletePhoneNum" runat="server" OnClick="btnDeletePhoneNum_Click" Text="Delete" Visible="false" OnClientClick="check();" />
            </div>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnAddPhoneNum" EventName="Click" />
            <asp:AsyncPostBackTrigger ControlID="btnCancelPhoneNum" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
</asp:Panel>

but when I click on my txtPhone control, there is no mask or anything.. it does nothing.

I tried changing my name in the function from txtPhone.ClientID to just txtPhone, i thought it might be the reference but it isnt since I am using like 5 other references to .js files within the same folder and they are working, and my reference is spelt correct, but I really have no idea why this isnt working.

these are all the .js being used in the project f ' rel="stylesheet" type="text/css" runat="server" /> ' rel="stylesheet" type="text/css" runat="server" /> ' rel="stylesheet" type="text/css" runat="server" /> ' type="text/javascript"> ' type="text/javascript"> ' type="text/javascript"> ' type="text/javascript">

    <script src='<%# ResolveUrl("~/Scripts/jquery-ui-1.10.1.custom.min.js")%>' type="text/javascript"></script>

        <script src='<%# ResolveUrl("~/Scripts/jquery-maskedInput-1.3.1.js")%>' type="text/javascript"></script>

解决方案

Make sure you are loading the CORE jQuery library and UI library:

These libraries must be loaded first: (these are just an example, use whatever version you prefer but you need jQuery loaded)

  <script src="//code.jquery.com/jquery-1.9.1.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

this is not correct:

 $(function () {
    $('<%= txtPhoneNum.ClientID %>').mask("(999) 999-9999");
           });

You need to use and need to prefex the elementId with a #:

$( document ).ready(function() {
    $('#<%= txtPhoneNum.ClientID %>').mask("(999) 999-9999");
});

Make sure you are loading the jquery library NOT JUST THE MASKED plugin I don't see you doing that.

这篇关于蒙面输入插件不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆