2010-08-19 41 views
1

我有一個頁面,執行JSON結果,獲取和發佈控制器中的兩個提交按鈕的方法。一個按鈕僅用於重定向的Post方法,而另一個按鈕則轉到JsonResult方法(名爲AddTableData)。我如何在我的JQuery代碼中進行設置?如何在頁面上運行GET/POST和JSON RESULT?

$('#firstSubmit').click(function() { 
    $(document).submit(function() { 
    }); 
}); 

$('#secondSubmit').click(function() { 
    $('#addTable').submit(function() { 
     $.post($(this).attr("action"), $(this).serialize(), function(response) { 
      ...load Table 
     }); 
     return false; 
    }); 
}); 

<%using (Html.BeginForm("LoadTable", "Home", FormMethod.Post, new { id = "addTable" })) %> 
    <td><input id="Submit1" type="submit" name="firstSearch" value="Search" /></td> 
    <td><input id="Submit2" type="submit" name="secondSearch" value="Search" /></td> 

如何使用firstSubmit僅命中帖子,而第二次提交僅用於JsonResult?

編輯

$('#secondSubmit').click(function() { 
    $.getJSON("Home/AddTableData", {Name:"Name on Document"}, function(json) { 
     alert("good"); 
    }); 
});  

我的變量通常會得到拿起一個GET/POST功能消失了。我如何將它們發佈到我的JSon函數中?

+0

你能發佈html代碼嗎? – treeface 2010-08-19 18:37:06

+0

@treeface - 請參閱編輯。這是我的提交按鈕和我的表單使用,但get/post是在Index.aspx – MrM 2010-08-19 18:49:13

回答

1
$('#firstSubmit').click(function() { 
    $('#addTable').submit(); 
}); 

$('#secondSubmit').click(function() { 
    $.getJSON("Home/AddTableData", $('#addTable').serialize(), function(json) { 
    alert("good"); 
    }); 
}); 


<%using (Html.BeginForm("LoadTable", "Home", FormMethod.Post, new { id = "addTable" })) %> 
<td><input id="Submit1" type="button" name="firstSearch" value="Search" /></td> 
<td><input id="Submit2" type="button" name="secondSearch" value="Search" /></td> 
+0

我從來沒有想想那個,我不會去我的JsonResult方法,但是(AddTableData)。是否有去那裏重定向? – MrM 2010-08-19 19:28:18

+0

對不起,沒有得到你,你可以進一步解釋, – 2010-08-19 19:40:11

+0

我想我越來越接近。 JsonResult方法,但我通常從我的表單傳遞的變量現在爲null。你知道該怎麼做嗎?請參閱我的新編輯 – MrM 2010-08-19 19:55:59

2

假設我是正確的我有2個答案,你瞭解你...

  1. 爲什麼使用JavaScript剛剛發佈形式沒有Ajax?

  2. 如果必須使用JavaScript發佈的形式,提交表單,而不是文檔,所以像:

    $('form').submit();

+0

表單正在發佈到JSonResult。 「addTable。該帖子在Index方法控制器上 – MrM 2010-08-19 18:50:54

+0

你是對的,我做了這個修正,現在使用一個作爲提交類型,另一個作爲一個按鈕,這會照顧到這個問題。謝謝!! – MrM 2010-08-20 16:53:30

0

我沒有測試過這一點:

$('#secondSubmit').click(function() { 
    $url = 'Home/AddTableData/?'+$('#add_table').children('input').serialize() 
    $.getJSON($url, {Name:"Name on Document"}, function(json) { 
     alert("good"); 
    }); 
});  
相關問題