I want to display loading animation when the user clicks on submit button. Simple gif will do the job. This is my code:
@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>
}
BeginForm() method to create a form. The BeginForm() method is an extension method of the HtmlHelper class that writes an opening "<form>" tag and it also calls the "Dispose()" method that writes a closing "</form>" tag.
BeginForm() will create a form on the page that submits its values to the server as a synchronous HTTP request, refreshing the entire page in the process. Ajax. BeginForm() creates a form that submits its values using an asynchronous ajax request.
BeginForm is the Html Helper Extension Method that is used for creating and rendering the form in HTML. This method makes your job easier in creating form. Here, is the method to create a form using Html. BeginForm extension method in ASP.NET MVC5.
BeginForm(HtmlHelper, String, String, FormMethod, Object)Writes an opening <form> tag to the response and sets the action tag to the specified controller and action. The form uses the specified HTTP method and includes the HTML attributes.
Edit
I mistakenly thought the question concerned the AJAX helper. Here's how you could do it using the HtmlHelper.
First, add an ID to the form so you can grab it using JQuery:
@using (Html.BeginForm("SData", "Crawl", FormMethod.Post, new { id = "myform" }))
{
// the form
}
Next, add a Javascript event handler to intercept the form submission and display the loading GIF.
$("#myform").submit(function(e) {
$("#myLoadingElement").show();
});
(Original answer follows...)
Use the AjaxOptions
class to set a LoadingElementId
, and the Ajax helper will display that element while waiting for the response from the server:
@using (Html.BeginForm("SData","Crawl", new AjaxOptions() {
LoadingElementId="myLoadingElement"
}))
{
// form
}
Then simply place your gif wherever you want it to display (hide it initially):
<div id="myLoadingElement" style="display: none;">
<img src="loading.gif" alt="Loading..." />
</div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With