2010-08-20 4 views
1

J'utilise le plugin MaskedInput de Josh Bush pour jQuery dans une application Webform ASP.NET 3.5. Comment se débarrasser des littéraux dans le fichier code-behind après l'envoi d'un formulaire?Comment supprimer les littéraux du masque de saisie après l'envoi d'un formulaire?

Par exemple: une entrée de téléphone avec le masque $("#txtPhone").mask("(99)9999-9999");

Dans le code-behind:

string customerPhone = txtPhone.Text 

Ce qui me retourne: (12)3456-7890

Mais ce que je veux: 1234567890

Dans le plugins changelog page il est dit que je peux utiliser mask() méthode sans arguments pour archiver t le sien. Mais comment le faire à partir du code-behind ?!

EDIT

Ma question n'a pas été claire, donc: je veux envoyer au serveur la valeur démasqué. Comment faire ça?

Répondre

1

Set removeMaskOnSubmit comme vrai lorsque vous initialisez le MasqueSaisie

$("#txtPhone").inputmask({removeMaskOnSubmit: true}); 

Ou nous pouvons obtenir la valeur démasqué en utilisant ce

$("#txtPhone").inputmask('unmaskedvalue'); 
2
customerPhone = new string(customerPhone.ToCharArray() 
          .Where(c => char.IsDigit(c)).ToArray()); 
0

Vous pouvez dépouiller les caractères non numériques avec des expressions régulières dans .NET, comme ceci:

customerPhone = Regex.Replace(customerPhone, "[^0-9]", ""); 
0

Ce que je fais en ce moment, utiliser le submitHandler (plug-in Validation) pour réinitialiser la valeur d'entrée, comme ceci:

submitHandler: function(form) { 
    $("#txtPhone").val($("#txtPhone").mask()); 
    form.submit(); 
}, 

cela résout le problème MAIS sent vraiment mauvais ...

Questions connexes