Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过Html.begin提交激活加载动画_Javascript_Ajax_Asp.net Mvc_Asp.net Mvc 4_Razor - Fatal编程技术网

Javascript 通过Html.begin提交激活加载动画

Javascript 通过Html.begin提交激活加载动画,javascript,ajax,asp.net-mvc,asp.net-mvc-4,razor,Javascript,Ajax,Asp.net Mvc,Asp.net Mvc 4,Razor,我想在用户单击提交按钮时显示加载动画。简单的gif就可以了。这是我的代码: @using (Html.BeginForm("SData","Crawl")) { <p> Enter Starting URL:<input class="txt" type="text" id="sUrl" name="sUrl" title="Enter Starting URL"/> </p> <p> En

我想在用户单击提交按钮时显示加载动画。简单的gif就可以了。这是我的代码:

@using (Html.BeginForm("SData","Crawl"))
{
    <p>
        Enter Starting URL:<input class="txt" type="text" id="sUrl" name="sUrl" title="Enter Starting URL"/>
    </p>

    <p>
        Enter Number of Threads:<input class="txt" type="text" id="Nbt" name="Nbt" title="Enter number of threads"/>
    </p>

    <p>
        <input class="button" id="submit" type="submit" value="Submit" />
   </p>   
}
使用(Html.BeginForm(“SData”、“Crawl”)) { 输入起始URL:

输入线程数:

} 编辑

我错误地认为这个问题与AJAX助手有关。下面是如何使用HtmlHelper来实现这一点

首先,向表单中添加一个ID,以便使用JQuery获取它:

@using (Html.BeginForm("SData", "Crawl", FormMethod.Post, new { id = "myform" }))
{
    // the form
}
接下来,添加一个Javascript事件处理程序来拦截表单提交并显示加载的GIF

$("#myform").submit(function(e) {
    $("#myLoadingElement").show();
});

(原始答案如下……)

使用该类设置
LoadingElementId
,Ajax助手将在等待服务器响应时显示该元素:

@using (Html.BeginForm("SData","Crawl", new AjaxOptions() {
    LoadingElementId="myLoadingElement"
}))
{
    // form
}
然后,只需将gif放在您希望显示的任何位置(最初将其隐藏):


您好,我刚刚在这里阅读了您的帖子,它在.net core 2.1中使用Microsoft.AspNetCore.Mvc运行良好:

@使用(Html.BeginForm(“ActionName”、“ControllerName”、FormMethod.Post、new{id=“UpdateForm”}))
{@Html.AntiForgeryToken()
您在此处的输入…}

然后HTML脚本:

$(“#UpdateForm”).submit(函数(e){$(“#您的加载程序gif在此..”)

如果您有问题,您可能希望调试您的操作方法,并查看它是否在语句中中断。。。。 @弗里曼博士:您可以重定向到任何视图,如下所示:

返回RedirectToAction(“ActionName”,new{@id=id});


希望此帮助

我测试了你的代码,但没有成功。我正在调用SData操作方法,该方法在完成后将返回不同的视图。其想法是在SData重定向到另一个视图之前显示加载gif。我是否遗漏了什么?@JasminPvvlovic对此表示抱歉,我完全不知道。我以为你在使用Ajax帮助程序。请参阅my更新了答案。此解决方案对我不起作用。ajaxOptions不是Html.BeginForm中的元素。它抛出了一个错误。
<div id="myLoadingElement" style="display: none;">
    <img src="loading.gif" alt="Loading..." />
</div>