我有一个执行JSON结果的页面,在控制器中使用两个提交按钮获取和发布方法。一个按钮仅用于重定向的Post方法,另一个按钮用于JsonResult方法(名为AddTableData)。如何在我的JQuery代码中设置它?
$('#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 :(得分:2)
假设我正确理解你,我有2个答案......
为什么只使用JavaScript发布没有Ajax的表单?
如果您必须使用JavaScript发布表单,请提交表单,而不是文档,如下所示:
$('form').submit();
答案 1 :(得分: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>
答案 2 :(得分:0)
我没有测试过这个:
$('#secondSubmit').click(function() {
$url = 'Home/AddTableData/?'+$('#add_table').children('input').serialize()
$.getJSON($url, {Name:"Name on Document"}, function(json) {
alert("good");
});
});