Я использую jqGrid.
Вот мой код:
$("#list").jqGrid({
url:'urlone.php',
editurl:'somepage.php',
datatype: 'json',
mtype: 'POST',
colNames:['ID','Name'],
colModel :[
{name:'cid', index:'cid'},
{name:'name', index:'name'}
],
"postData":{"oper":"grid"},
"prmNames":{"query":"grid"},
pager: '#pager'
}).navGrid('#pager', {"edit":true,"add":true,"del":false,"search":false,"refresh":true,"view":false,edittitle: "Edit Candidate",addtitle: "Add Candidate",deltitle: "Delete Candidates",searchtitle: "Search Candidates",refreshtitle: "Refresh Data",viewtitle: "View Candidate",edittext: "Edit",addtext: "Add",deltext: "Delete",searchtext: "Search",refreshtext: "Refresh",viewtext: "View"},
prmEdit,prmAdd);
prmEdit = {
"drag":false,"resize":false,"closeOnEscape":true,"dataheight":430,"datawidth":450,"width":500,"errorTextFormat":function(r){ return r.responseText;},"closeAfterEdit":true,viewPagerButtons:false,"editCaption":"Update Candidate",reloadAfterSubmit:true,recreateForm:true
,beforeShowForm: function($form) {
$form.parent().find('.EditButton').prepend('<a href="javascript:void(0)" id="qButton" class="fm-button ui-state-default ui-corner-all fm-button-icon-left">Update & Qualify<span class="ui-icon ui-icon-flag"></span></a>');
},beforeSubmit : function(postdata, formid){
$.ajaxFileUpload({
url: 'uploadResume.php?id='+postdata.cid+'&cname='+postdata.name,
secureuri:false,
fileElementId:'resume',
dataType: 'json',
success: function (data, status) {
if(typeof(data.error) != 'undefined')
{
if(data.error != '')
{
alert(data.error);
}else{
alert(data.msg);
}
}
return[true,"Resume successfuly uploaded"];
},
error: function (data, status, e)
{
return[false,e];
}
});
return[true,"Resume not uploaded"];
}, afterComplete : function (response, postdata, formid) {
var txt = '{"responseT":['+response.responseText+']}';
var obj = eval ("(" + txt + ")");
if(obj.responseT[0].msg == null) msgStr = "Undefined Error, Contact Admin!";
else msgStr = obj.responseT[0].msg;
openmsgbox(obj.responseT[0].err,msgStr);
}
};
prmAdd = { "drag":false,"resize":false,"closeOnEscape":true,"dataheight":430,"datawidth":450,"width":500,"errorTextFormat":function(r){ return r.responseText;},"closeAfterAdd":true,viewPagerButtons:false,"addCaption":"Add Candidate","bSubmit":"Add",reloadAfterSubmit:true,recreateForm:true, beforeSubmit : function(postdata, formid){
$.ajaxFileUpload({
url: 'uploadResume.php?id='+postdata.cid+'&cname='+postdata.name,
secureuri:false,
fileElementId:'resume',
dataType: 'json',
success: function (data, status) {
if(typeof(data.error) != 'undefined')
{
if(data.error != '')
{
alert(data.error);
}else{
alert(data.msg);
}
}
return[true,"Resume successfuly uploaded"];
},
error: function (data, status, e)
{
return[false,e];
}
});
return[true,"Resume not uploaded"];
}, afterComplete : function (response, postdata, formid) {
var txt = '{"responseT":['+response.responseText+']}';
var obj = eval ("(" + txt + ")");
if(obj.responseT[0].msg == null) msgStr = "Undefined Error, Contact Admin!";
else msgStr = obj.responseT[0].msg;
openmsgbox(obj.responseT[0].err,msgStr);
}
};
Я добавил пользовательскую кнопку с именем «Обновить и квалифицировать» в форму редактирования.Теперь, когда пользователь нажимает кнопку отправки по умолчанию, форма должна отправляться с использованием существующего editurl, но при нажатии кнопки «Обновить и квалифицировать» значение «editurl» должно быть изменено на «somepage.php? Do = qualify», и форма должнабыть представлен ... но я не могу понять, как это .. кто-нибудь может мне помочь ??