我正在尝试插入一个加载GIF到我的项目。 我正在使用ASP.NET Core3.0和Razor Pages,我知道我必须使用一点Javascript或Ajax来实现这一点。 我对所有这些都是新手,所以我并不真正理解如何实现这一点,但我已经尝试过了。 当我加载页面时,GIF立即就在那里了,但问题是我只希望它在我单击提交按钮时显示出来。
这是我的upload.cshtml代码:
@page
@model CustomerPageTest.Pages.Assessment.UploadModel
@{
ViewData["Title"] = "Upload";
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="../Scripts/jquery-1.12.4.js"></script>
<script src="../Scripts/jquery-ui.js"></script>
<script>
$(document).ready(function () {
$('.loadingImage').hide();
$("#buttonSubmit").click(function (event) {
$('.loadingImage').show();
});
});
</script>
<div class="col-md-offset-2 justify-content-center">
<h1 style="color:yellowgreen">3) Import RVTools Spreadsheet (.xls or .xlsx)</h1>
</div>
<br />
<br />
<div class="col-md-offset-3">
<form enctype="multipart/form-data" method="post">
<dl>
<dd>
<input asp-for="@Model.FormFile" type="file" class="text-light">
<span asp-validation-for="@Model.FormFile"></span>
<input asp-for="@Model.CustomerId" type="hidden" />
<span asp-validation-for="@Model.CustomerId"></span>
<input asp-for="@Model.AssessmentId" type="hidden" />
<span asp-validation-for="@Model.AssessmentId"></span>
</dd>
<dd>
<img id="loadingImage" src="~/css/Images/ajax-loader.gif" alt="Loading ..." style="display: none;" />
</dd>
</dl>
<dl>
<dd>
<button id="buttonSubmit" asp-page-handler="Upload" class="btn btn-dark" type="submit">Upload File</button>
</dd>
</dl>
</form>
</div>
当我运行程序而不点击Upload File时,这就是我得到的:
我怎样才能使这个GIF只出现在我点击上传文件? 当我点击‘上传文件’时,程序转到OnPost()函数,因为它必须用给定的文件运行一个大的算法,我想在程序运行时显示GIF。
jquery脚本以loadingImage类为目标,但元素将其作为ID。 请改用$('#LoadingImage')。