2012-02-14 85 views
0

我正在使用jqGrid。如何更改「editurl」並提交使用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 &amp; 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」,表單應該被提交...但我無法弄清楚如何這個..任何人都可以幫助我?

+0

@oleg你是最有資格的人誰能夠正確地回答這個問題..請幫助我,我一定要在兩天內提交項目.. – 2012-02-14 18:06:36

+0

如果您需要某些商業項目的開發支持,您可以通過以下電子郵件與我聯繫:[email protected] – Oleg 2012-02-15 10:29:01

回答

0

轉發來自新的按鈕,點擊原來的「提交」按鈕,您可以附加beforeShowForm的代碼下面幾行

$("#qButton").click(function() { 
    $("#sData").click(); 
}); 

此外,您可以設置click處理程序和測試內部的任何變量該變量用於區分從新提交按鈕與從原始「提交」按鈕提交的提交。

onclickSubmit回調可以更改url屬性:

onclickSubmit: function (params, posdata) { 
    // first test something and then change the URL with 
    params.url = "newUrl"; 
} 
相關問題