2012-11-29 59 views
2

我在我的MVC應用程序中使用的WebGrid,傳呼我使用這個代碼提交表單與當執行form.submit(),它執行GET和POST沒有提交Jquery的,而不是獲取發佈

var links = $('a[href*=page], a[href*=sort]'); 
     form = $('form')[0]; 
     links.click(function() { 
      debugger; 
      form.attr("action", this.href); 
      $(this).attr("href", "javascript:"); 
      form.submit(); 
     }); 

@using (Html.BeginForm(Model.PostToAction, "Leads", FormMethod.Post)) 

我做錯了什麼?

UPDATE:

我的形式是:

<form action="/Leads/DetailsLeads" method="post"> 

控制器是:

[HttpPost] 
     public ActionResult DetailsLeads(LeadDetailsViewModel model) 
+0

你可以試試這個:'form.attr(「法」,「後」);' –

+0

這給了相同的結果 – StringBuilder

+0

你看了呈現的HTML,以驗證正在創建它作爲一個「後「形式方法?你能粘貼控制器聲明嗎?另外,我很清楚,你是否將動作URL更改爲各自點擊的鏈接的href? – TNCodeMonkey

回答

6

嘗試增加e.preventDefault()links.click(function(){}塊內。否則,瀏覽器仍會嘗試執行您指示它執行的操作(點擊鏈接上的GET請求)。

var links = $('a[href*=page], a[href*=sort]'); 
     form = $('form')[0]; 
     links.click(function (e) { 
      e.preventDefault(); 
      debugger; 
      form.attr("action", this.href); 
      $(this).attr("href", "javascript:"); 
      form.submit(); 
     });