【发布时间】:2020-07-22 14:27:26
【问题描述】:
我正在尝试将加载中的 GIF 插入到我的项目中。我正在使用带有 Razor Pages 的 ASP.NET Core 3.0,并且我知道我必须使用一点 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>
当我运行程序并且不点击上传文件时,我得到的是:
如何让这个 GIF 仅在我点击上传文件时出现?当我单击“上传文件”时,程序会转到 OnPost() 函数,因为它必须使用给定文件运行一个大型算法,并且我希望在该程序运行时有 GIF。
【问题讨论】:
标签: javascript html jquery ajax razor