我在MVC网络应用中使用jquery.maskedinput.min.js
,我很难删除电话号码掩码。
JS: -
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript" src="/Scripts/jquery-1.8.3.min.js" charset="utf-8"></script>
<script type="text/javascript" src="/Scripts/jquery.maskedinput.min.js"></script>
<script type="text/javascript">
$(function () {
$("#phone").mask("(999) 999-9999");
});
$(function unMaskFunc() { //This doesn't work...
$("#phone").unmask();
});
</script>
}
接下来,我的表单中有我的电话号码字段:
<div class="form-group">
@Html.LabelFor(model => model.PhoneNo, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.PhoneNo, new { htmlAttributes = new { @class = "form-control", @id = "phone" } })
@Html.ValidationMessageFor(model => model.PhoneNo, "", new { @class = "text-danger" })
</div>
</div>
最后,提交按钮应该在点击时调用unmask功能但不起作用:
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" onclick="unMaskFunc()" />
</div>
</div>
它在带有掩码的sql db中插入,我只想要数字。无论我在哪里放置js,它都会在文本框中渲染蒙版并插入蒙版,否则蒙版将无法通过验证呈现。我真的想使用min.js文件中的unmask函数!
任何帮助都会很棒......我还是新手,所以我觉得我错过了一些明显的东西。谢谢!
答案 0 :(得分:1)
如果要在没有掩码的情况下将掩码输出转换为DB中的varchar,可以在服务器端执行此操作。
if (model.PhoneNo != null)
model.PhoneNo = new string(model.PhoneNo.Where(char.IsDigit).ToArray());
这将为您提供一个只包含可以插入数据库的数字的字符串。