JavaScript不在其他页面上工作但在同一页面上工作

时间:2017-09-29 12:10:10

标签: javascript jquery asp.net model-view-controller

我在文本框中编写了一个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>

3 个答案:

答案 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

相关问题