我試圖通過窗體中的下拉列表更改來改變我的視圖中的PartialView中的數據。現在,如果我點擊提交按鈕,我的表單沒有問題,表單收集可用,但是當我嘗試通過jQuery提交更改事件時,表單提交沒問題,但沒有表單收集JQuery Form Post不發送FormCollection到MVC控制器
任何想法?
這是提交代碼
$(function() {
$('#ddlSelection').change(function() {
var form = $("#myForm");
var action = form.attr("action");
var serializedForm = form.serialize();
$.post(action, serializedForm, function() { alert("Finished!") });
});
});
形式是這樣的
<% using (Ajax.BeginForm("myForm", new AjaxOptions
{
UpdateTargetId = "divItemsList",
OnComplete = "ClearForm"
}))
{%>
<%=Html.Label("ddlFilter", "Parent Filter")%>
<%=Html.DropDownList("ddlFilter", "Please Select ...")%><br />
<fieldset>
<legend>Filter Option Details</legend>
<p>
<label for="Value">Value:</label>
<%= Html.TextBox("Value") %>
<%= Html.ValidationMessage("Value", "*") %>
</p>
</fieldset>
<%}%>
SOLUTION 好吧,本來應該付出更多的關注,Ajax.Beginform
標籤不給形式的ID或名稱,我認爲他們認爲這是不必要的,所以解決方案是手動添加htmlattributes。爲使..
<% using (Ajax.BeginForm("TheAction", null, new AjaxOptions
{
UpdateTargetId = "divFilterItemsList",
OnComplete = "ClearForm"
}, new { ID = "myForm", Name = "myForm" }))
{%>
我會試試看,歡呼鸚鵡 – Israfel 2010-01-12 17:51:30
再次歡呼,我的問題是一個ajax表單doent有一個名字或id,我曾假設它把行動作爲名字/編號,我的不好,解決辦法在上面,謝謝你的幫助 – Israfel 2010-01-12 18:05:37