Jquery掩码在ASP.NET不工作

本文关键字:工作 NET ASP 掩码 Jquery | 更新日期: 2023-09-27 18:05:25

我想应用我从http://digitalbush.com/projects/masked-input-plugin/得到的蒙版,但蒙版只是不工作。下面是我的代码:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
        <script src="/Scripts/jquery.maskedinput.js" type="text/javascript"></script>
        <script type="text/javascript">
            jQuery(function ($) {
                $("#cnpjDate").mask("99/99/9999", { placeholder: "dd/mm/yyyy" });
                $("#date").mask("99/99/9999", { placeholder: "mm/dd/yyyy" });
                $("#phone").mask("(999) 999-9999");
                $("#tin").mask("99-9999999");
                $("#ssn").mask("999-99-9999");
            });
        </script>
</asp:Content>

我的输入字段是这样的

<input id="cnpjDate" type="text" /></td>

它在table中,在View中,在multiview中在ContentTemplate中在UpdatePanel中

我在这里做错了什么?

Jquery掩码在ASP.NET不工作

问题是mask -input-plugin正在使用jQuery中的。on函数,这在jQuery 1.4.2中不可用,您需要更新您的jQuery版本或降级mask -input-plugin。

还要确保在dom加载后运行jQuery函数:

$( document ).ready(function() {});

这是一个工作代码

由于更新面板是通过ajax加载的,所以Jquery方法没有绑定到DOM元素。为了解决这个问题,将方法绑定到更高层的dom元素上,而不是通过ajax加载的。

试试这个脚本:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">       
</asp:Content>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.maskedinput.js" type="text/javascript"></script>
<script type="text/javascript">
    jQuery(function ($) {
        $('body').on('click','#cnpjDate',function(){
             $(this).mask("99/99/9999", { placeholder: "dd/mm/yyyy" });
        }); 
        $('body').on('click','#date',function(){
             $(this).mask("99/99/9999", { placeholder: "mm/dd/yyyy" });
        }); 
        $('body').on('click','#phone',function(){
             $(this).mask("(999) 999-9999");
        }); 
        $('body').on('click','#tin',function(){
             $(this).mask("99-9999999");
        }); 
        $('body').on('click','#ssn',function(){
             $(this).mask("999-99-9999");
        }); 
    });
</script>