2014-02-14 38 views
0

我正在尝试使用http://www.angelwatt.com/coding/masked_input.php#nav-example来更改输入句柄日期的方式。它非常适用于引导程序和jquery,但当我将输入字段放入jscript模板中时,它不起作用 。输入掩码不能使用下划线模板

This works 
<input type="text" class="form-control" id="some-mask" placeholder="" value="" /> 

<script type="text/template" id="tpl"> 
This doesnt work 
<input type="text" class="form-control" id="some-mask2" placeholder="" value="" /> 
</script>  

<script type="text/javascript"> 
MaskedInput({ 
        elm: document.getElementById('some-mask'), 

        format: 'dd/mm/yyyy', 
        separator: '\/', 
        typeon: 'DMY' 
      }); 
    MaskedInput({ 
        elm: document.getElementById('some-mask2'), 

        format: 'dd/mm/yyyy', 
        separator: '\/', 
        typeon: 'DMY' 
      });  
</script> 

任何人都知道为什么它不工作的任何线索?谢谢。

+0

你在哪里使用'tpl'? –

回答

0

的问题是,当你运行这个命令:

MaskedInput({ 
    elm: document.getElementById('some-mask2'), 
    //... 
}); 

没有#some-mask2被发现,那么你真的说elm: null。您的#some-mask2元素位于#tpl模板中,但该模板不是HTML,并且在您编译该模板,填充并放在页面某处之前,该模板不在DOM中。

某处你有什么结构是这样的:

var t = _.template($('#tpl').html()); 
var h = t({...}); 
$(something).append(h); 

要拨打MaskedInput你的上面相当于已经把充填在DOM模板后。