jqGrid にデータを表示させることができます。複数選択してフォームを送信すると (jqGrid は明らかにフォーム内にあります)、Spring mvc コントローラーで選択した行を取得できません。これが私のonClickイベントです
$("#GetDataDetailsLink").click( function() {
var selectedRows;
selectedRows = jQuery("#DataList").jqGrid('getGridParam','selarrrow');
var dataToSend = JSON.stringify(selectedRows);
alert("dataToSend is =" + dataToSend);
alert("selectedRows is =" + selectedRows);
//non-ajax submit
var url = "/underwriting-ui-web/taskDetail" + "?selectedTasks="+selectedRows;
$("#DataGridForm").attr("action", url);
$("#DataGridForm").attr("method", "get");
alert("action url is = " + $("#taskGridForm").attr("action"));
$('#DataGridForm').submit();
//ajax way of submiting
/*
$.ajax({
url:'/dataDetail',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: dataToSend,
dataType: 'json',
success: function (result) {
alert('success: ' + result.result);
}
});
return true;
*/
});
jqGrid がどのように私の URL を上書きし、独自の URL を次のように書き込んでいるか
http://localhost:8080/myProject-ui-web/DataDetail?jqg_taskList_8=on&jqg_taskList_9=on
それ以外の
http://localhost:8080/myProject-ui-web/DataDetail?selectedTasks=8,9
ajax送信では機能しています。しかし、非ajax送信でそれが欲しかった。これがajax以外の送信で機能しない理由は何ですか?