से फॉर्म सबमिट करें (पेज रीफ्रेश के बिना) मैं इन सबके लिए बिल्कुल नया हूं। मैं एएसपी.नेट एमवीसी सी # LINQ to SQL का उपयोग कर रहा हूं।एमवीसी jQuery जावास्क्रिप्ट फ़ंक्शन
मेरे पास एक संपादन पृष्ठ है जो लेखकों और उनकी सभी पुस्तकों को लोड करता है। पुस्तकें Ajax कॉल के माध्यम से लोड की गई हैं।
<script type="text/javascript">
$(document).ready(function() {
LoadBooks();
});
function LoadBooks() {
$(".Books").hide();
$(".Books").load("/Books/Edit/<%= Model.AuthorID %>");
$(".Books").show('slow');
}
</script>
यह हिस्सा ठीक काम कर रहा है। लेखक की जानकारी, फिर पुस्तकों भार के साथ पृष्ठ लोड (एक div id = "किताबें" में एक आंशिक दृश्य, बस के साथ बुक श्रेणी और पुस्तक शीर्षक):
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Solution.Controllers.BooksController+BooksViewModel>" %>
<% using (Html.BeginForm(null,null, FormMethod.Post,new { id = "bookform" }))
{%>
<fieldset>
<legend>Books</legend>
<%int i = 0;
foreach (var book in Model.Books)
{%>
<%= book.BookID%>
<%= Html.Hidden("book[" + i + "].BookID", book.BookID) %>
<%= Html.DropDownList("book[" + i + "].CatID", new SelectList(Model.Categories, "CatID", "CatTitle", book.CatID))%>
<%= Html.ValidationMessage("CatID", "*")%>
<%= Html.TextBox("book[" + i + "].BookTitle", book.BookTitle)%>
<%= Html.ValidationMessage("BookTitle", "*")%>
<br />
<%i++;
} %>
</fieldset>
<% } %>
अब, मुख्य दृश्य पेज मैं पर एक लिंक चाहते हैं। जब लिंक क्लिक किया जाता है तो मैं जावास्क्रिप्ट/jQuery/अजाक्स/जो कुछ भी के माध्यम से कुछ चीजें करना चाहता हूं। पहली चीज जो मैं करना चाहता हूं वह आंशिक दृश्य से पुस्तक फ़ॉर्म (आईडी = बुकफॉर्म) सबमिट करना है, फिर अगले jQuery फ़ंक्शन पर जारी रखें। इसलिए, मैं एक लिंक पर क्लिक करता हूं जो जावास्क्रिप्ट फ़ंक्शन को कॉल करता है। इस फ़ंक्शन को पुस्तक फ़ॉर्म जमा करने/निष्पादित करना चाहिए।
मुझे लगता है कि मैंने सब कुछ करने की कोशिश की है, लेकिन मुझे पूरा पुस्तक सबमिट/रीफ्रेश करने के बिना मेरे पुस्तक फ़ॉर्म को सबमिट और संसाधित नहीं किया जा सकता है। (ध्यान दें, जब पूर्ण सबमिट होता है, तो नियंत्रक में जो क्रियाएं मैं अपेक्षा करता हूं वह सफलतापूर्वक प्रक्रिया करता है)। मैं नियंत्रक प्रक्रिया/कार्रवाई किसी प्रकार की सफलता/विफलता संकेत के अलावा कुछ भी वापस नहीं करना चाहता हूं।/रीफ्रेश होता है फिर पृष्ठ पर DIV ताज़ा करने के लिए
कोई भी विचार
क्या होगा यदि वे फ़ॉर्म के बाहर एक लिंक (बटन नहीं) पर क्लिक कर रहे हैं? मैं चर को वैरिएबल (var $ form) में कैसे असाइन करूं? धन्यवाद। – johnnycakes
ने आपके सुझाव को var $ form = document.getElementById ('bookform') का उपयोग करके चर से वैरिएबल को असाइन करने का प्रयास किया; लिंक क्लिक होने पर कुछ भी नहीं होता है। – johnnycakes
मैंने अपना जवाब अपडेट किया। getElementById javascript ऑब्जेक्ट को jquery ऑब्जेक्ट नहीं देता है, इसके बजाय $ ("# bookform") का उपयोग करें। –