2013-10-23 25 views
1

我有一个ASP.NET web表单,并且我使用了http://digitalbush.com/projects/masked-input-plugin的掩码输入插件,它似乎是一个非常流行的插件。它工作得很好,但我在尝试使用掩码在文本框中预填充值时遇到问题。jquery输入掩码用asp.net覆盖文本框的值

在我的document.ready,林的表演:

$("#txtPrimaryPhone").mask("(999) 999-9999 ?x9999"); 

在我隐藏设置我的文字属性,像这样:

txtPrimaryPhone.Text = "1234567890"; 

当我的页面加载,我的文本框为空。有没有人遇到类似的问题,或任何人都可以提供任何建议?谢谢!

+0

是U使用的母版? –

+0

我当然是 – ewitkows

+0

我面临同样的问题,你有没有找到解决方案? – Lilo

回答

1

这里的解决方案:

而不是

$("#txtPrimaryPhone").mask("(999) 999-9999 ?x9999"); 

试试这个

$.each($('#txtPrimaryPhone'), function (iEmt, emt) { 
      $(emt).mask("(999) 999-9999 ?x9999").val($(emt).attr("value")); 
     }); 

它为我工作:)

+0

当我有机会的时候,我必须回去尝试一下,但是谢谢你的加入,如果这样做的话,我一定会标记为答案! – ewitkows

+0

2年后,我发现这一点,它解决了我的问题。谢谢! – Trucktech

0

如果我是正确的,一旦你加载你的页面,应用jQuery掩码,然后你的txtPrimaryPhone.Text被设置为服务器端。我有两个理论。

其中一个:1234567890不被掩码接受,因为它的格式不正确。正确的格式应该是类似txtPrimaryPhone.Text =“(999)999-9999 x99999”;.

两个:该掩码用作用户输入的过滤器,但不接受txtPrimaryPhone的服务器端值。 如果没有我们可以调试或编辑的示例,有点难找。

+0

感谢Yushell,我在将它发送到屏幕之前尝试了格式化值,但它仍然没有显示。谢谢你的洞察力,不胜感激。 – ewitkows