繁体   English   中英

如何在 ASP.NET Core MVC razor 视图中使用脚本标签

[英]How to use script tag in an ASP.NET Core MVC razor view

我想在 MVC 项目的 razor 视图中使用 javascript。 我想通过单击发布按钮向用户显示一条消息。 我将脚本标记放在页面下方的Section中,但在按 F12 时显示'btn' is null 我正在 Firefox 中的 IISExpress 上测试我的项目

<form method="post">
--------a few input fields in a form-------
 <button id="button" type="submit" class="btn btn-lg btn-success">send</button>
</form>
<div class="submit-progress d-none">
    <label>be patient please...</label>
</div>
@section scripts{
    <partial name="_ValidationScriptsPartial" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/5.2.7/js/fileinput.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            const btn = document.getElementById("#button");
            btn.addEventListener("click", function () {
                $(btn).prop("disabled", true);
                $(".submit-progress").removeClass("d-none");
            })
        });
    </script>
}

使用 getElementById 时,您只需要传递名称而不是选择器#

const btn = document.getElementById("button");

您已正确使用脚本部分。

您的代码存在多个问题,主要是由于混合了 jQuery 和本机 JavaScript 方法。 您可以通过修复显示的 3 行以使用 jQuery 来使其工作。请注意,“this”指的是事件处理程序附加到的元素,在本例中是按钮。

$(document).ready(function() {
  // const btn = document.getElementById("#button"); <-- REMOVE
  $("#button").click(function() { // <-- CHANGE
    $(this).prop("disabled", true); // <-- CHANGE
    $(".submit-progress").removeClass("d-none");
  })
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM