I wanted to change the behavior of the « Edit Item » button from the Sharepoint 2010 ribbon of the Display Form (DispForm.aspx). It wasn’t really easy, so I finally found a solution that I’m going to share here.
You’ll need to use JavaScript for that. In the below example, the click on the « Edit Item » will open the EditForm in a new window:
function ribbonIsLoaded() { // find the button we want to change var a = document.getElementById('Ribbon.ListForm.Display.Manage.EditItem-Large'); // remove the default action for this button Sys.UI.DomEvent.clearHandlers(a) // define your own action a.setAttribute("onclick",""); a.setAttribute("target", "_blank"); a.setAttribute("href", window.location.href.replace(/DispForm.aspx/,"EditForm.aspx").replace(/&IsDlg=1/,"")) } // Note: 'SOD' is an abbreviation for "Script on Demand" SP.SOD.executeOrDelayUntilScriptLoaded(function () { var pm = SP.Ribbon.PageManager.get_instance(); pm.add_ribbonInited(function () { ribbonIsLoaded(); }); var ribbon = null; try { ribbon = pm.get_ribbon(); } catch (e) { } if (!ribbon) { if (typeof (_ribbonStartInit) == 'function') _ribbonStartInit(_ribbon.initialTabId, false, null); } else { ribbonIsLoaded(); } }, 'sp.ribbon.js');