當提交jqGrid表單時,我想爲編輯用例的URL添加'/ theRecordId'到URL,REST風格。這是不工作:JQGrid:動態創建一個帶有id的RESTFul URI
jQuery("#noteList").jqGrid('navGrid','#pager',
{addtitle:"Add New Note", clearAfterAdd: true},
{addCaption:"Edit Note", mtype:"PUT"
,onclickSubmit: function(rp_ge, postdata) {
rp_ge.url = editurl + '/' + postdata.id; }
},
{addCaption:"Add New Note", mtype:"POST"},
{},
{},
{}
);
這導致 「/ [myurl] /未定義」 被髮送到服務器(其中[myurl]是正確的初始editurl)。 所以動態的url操作似乎可行,但'id'是未定義的。什麼應該是'id'屬性的名字?我可以看到,作爲表單參數傳遞的是'id'。我也嘗試了noteId,它是顯示網格時輸入數據中的名稱,也是我用於jsonReader.id的名稱。也沒有工作。這個屬性名稱應該從哪裏來?
非常感謝Oleg,它像一個魅力一樣工作! jqGrid真的是一個非常強大和多功能的框架,但也很難學習!我希望你很快就會有一本書:) – Pablo
不幸的是,我仍然有與DELETE用例相同的問題。這將返回/未定義:{MTYPE: 「DELETE」, \t \t \t onclickSubmit:功能(選項,POSTDATA){ \t \t \t options.url = editurl + '/' + encodeURIComponent方法(POSTDATA [this.id + 「_id」 ]); \t \t \t}} – Pablo
@ user2309409:刪除表單的onclickSubmit的'postdata'格式非常簡單:如果您選擇了單個選擇並且是逗號分隔的所有行的id值,那麼您使用'multiselect :true'。所以如果你不使用jqGrid的'multiselect:true'選項,那麼你可以使用'options.url = editurl +'/'+ encodeURIComponent(postdata);'。我建議另外使用'serializeDelData:function(){return「」; }'。請參閱[答案](http://stackoverflow.com/a/7365228/315935) – Oleg