2017-04-04 138 views
0

我嘗試在.NET Framework中開發MVC 5 Web應用程序。我試圖掩蓋表單上的輸入。不工作的手機掩碼ASP.NET MVC

如何製作電話號碼的類似掩碼?

enter image description here

下面的代碼不起作用

<script src="~/Scripts/jquery.inputmask/jquery.inputmask.bundle.js"> 
</script> 
<script src="~/Scripts/jquery-3.1.1.min.js"></script> 
<script> 
    $('#phone').mask("+7(999)999-99-99"); 
</script> 


<div class="form-group"> 
    <div class="col-md-10"> 
     <span style="font-weight: bold;">Phone:</span> 
     @Html.EditorFor(model => model.Phoneord, new { htmlAttributes = new { @class = "form-control", @id = "phone" } }) 
     @Html.ValidationMessageFor(model => model.Phoneord, "", new { @class = "text-danger" }) 
    </div> 
</div> 
+0

你的劇本是你的HTML之前(並試圖插件應用到尚不存在的元素)。將您的腳本移動到緊接在''標籤之前,或者在'$(document).ready()' –

+1

更改訂單腳本文件中首先包裝到jquery最小文件 –

+0

那? SOFL

回答

1

通過提inputmask插件(從jquery.inputmask.bundle.js在你的代碼中引用),首先需要包括所有必需的依賴關係,如文檔,還有給出:

Inputmask 3.x Documentation

因此,設置的腳本順序是這樣的:

<script src="~/Scripts/jquery-3.1.1.min.js"></script> 
<script src="~/Scripts/jquery.inputmask/jquery.inputmask.bundle.js"></script> 

從我對這個插件的實驗中,EditorFor都不能正確使用它的工作,因此你需要轉換EditorForTextBoxFor

@Html.TextBoxFor(model => model.Phoneord, new { @class = "form-control", @id = "phone" }) 

然後,激活使用以下行蒙面輸入:

$(document).ready(function() { 
    $('#phone').inputmask("+7(999)999-99-99"); 
} 

需要注意的是,如果你在瀏覽時遇到$(...).mask is not a function錯誤您可能必須將mask更改爲inputmask

注意:如果你打算使用maskedInput plugin代替(由您的代碼提mask()法),腳本改成這樣:

<script src="~/Scripts/jquery.maskedinput.js"></script> 

然後保持屏蔽的方法是:

$(document).ready(function ($) { 
    $('#phone').mask("+7(999)999-99-99"); 
}); 

查看.NET Fiddle example查看這兩個插件的使用情況。

相關的問題:

Jquery.inputmask not working

Phone mask with jQuery and Masked Input Plugin

+0

在「.inputmask」上更改此語句「.mask」解決了我的問題 – SOFL