我在文本框中编写了一个JavaScript代码,以便只输入数字。 javascript代码在下面的页面上正常工作,但是当我将它移动到GeneralJS.js页面时它不起作用。
这是我的GeneralJS.js:
function numberControl(event) {
if (event.keyCode != 8 && event.keyCode != 0 && (event.keyCode < 48 || event.keyCode > 57))
return false;
var frm = document.getElementById("numeric_form");
orm.setAttribute("onsubmit", true);
return true;
}
我在布局上调用GeneralJS.js页面。
这是我的Add.cshtml:
<form method="post" class="form-horizontal" role="form" id="numeric_form">
<input type="text" class="form-control" name="TCNo" min="0" maxlength="11" value="@Model.TCNo" style="width: 230px;" onkeypress="return numberControl(event)" />
</form>
这是我的_Layout.cshtml:
<script src="~/Content/Scripts/js/GeneralJS.js"></script>
答案 0 :(得分:0)
我认为修复这个拼写错误很可能有用,但是你正在刷新GeneralJS.js文件的缓存版本。清除浏览器缓存,然后重试。
如果还没有工作,请在.js文件路径引用中添加类似?version = 1.1的内容,这将破坏缓存。
答案 1 :(得分:0)
对于javascript,请在$(document).ready( function(){ });
页面上使用general.js
对于Jquery使用on('load',function(){ })
答案 2 :(得分:0)
~
(表示root)在该上下文中无法工作。它是Scripts.Render
使用的东西。一个简单的解决方法是使该URL绝对。
<script src="/Content/Scripts/js/GeneralJS.js"></script>
有更多可用的食谱,例如,您可以使用Scripts.Render
注册静态文件。查看this answer。