【问题标题】:Javascript code doesn't work after putting the code as external file将代码作为外部文件后,Javascript 代码不起作用
【发布时间】:2017-05-11 09:09:17
【问题描述】:

我正在为我的页面中的引导模式(弹出窗口)应用 Javascript (JS) 代码。当我在弹出窗口中出现的文本框中输入输入时,我打算让它动态运行。以前当我将 JS 代码放在布局页面中时,它可以工作。但是当我尝试将代码放在文件夹中的单独 JS 文件中时,它不再起作用了。为什么是这样?当我单击按钮时,会出现弹出窗口,但是当我输入输入或单击弹出窗口中的按钮时,它不起作用。我确保文件目录不是问题。

我也放了

<script type="text/javascript" src="~/Script/Modal.js"></script>

在布局的头部,以确保它会被动态加载。

这是我放入我的 Modal.js 文件的内容。这是正确的还是我错过了什么?我在代码之间确实有一个 if 子句。

$(function() {
// New Modal ================================================
$('#inputNew').on('hidden.bs.modal', function (e) {
    document.getElementById("inputNewCheckbox").checked = true;
    document.getElementById("inputMother").style.display = 'block';
    document.getElementById("inputMotherlabel").style.display = 'block';
    var value = $('#myPopupInput1').val();
    $('#inputMother').val(value);
    $('#inputNew').modal('hide');
});

$('#inputNew').on('click', '#SearchMother', function () {
   var value = $('#myPopupInput1').val();
   $('#inputMother').val(value);
   $('#inputNew').modal('hide');
});

if ($checkbox.data('waschecked') == true && $('#inputMother') != '') {
    if ($('#inputNewCheckbox').on("click", function () {
        $('#inputNewCheckbox').prop('checked', false);
    }));

}

})

这是查看页面中的复选框输入

<input type="checkbox" name="inputNew" value="inputNew" id="inputNewCheckbox" data-toggle="modal" data-target="#inputNew" data-waschecked="false"> New

【问题讨论】:

  • try src="../Script/Modal.js".. 对我来说这看起来像是路径问题。如果它不起作用,请打开开发人员工具并尝试在其中找到您的脚本文件,否则您可能会在控制台中看到由于路径错误而找不到脚本的错误。
  • 检查控制台产生了什么错误?
  • @Maharshi 你的建议对我不起作用..通过开发者工具,这是否意味着我必须下载 vs2015 的开发者工具插件?
  • 您可能应该阅读事件委托(与您的其他问题基本上相同的问题);来自 jQuery 文档:learn.jquery.com/events/event-delegation。这个问答也很好地解释了差异:stackoverflow.com/questions/8110934/…
  • 基本上,如果您尝试选择的内容在页面加载时不存在,那么您当前的代码将无法正常工作。

标签: javascript asp.net-mvc asp.net-web-api bootstrap-modal


【解决方案1】:

尝试将您的代码放入 document.ready

$(document).ready(function () {
     // New Modal ================================================
     $('#inputNew').on('hidden.bs.modal', function (e) {
         document.getElementById("input").checked = true;
     });
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    相关资源
    最近更新 更多