Javascript Salesforce中的自定义按钮覆盖

Javascript Salesforce中的自定义按钮覆盖,javascript,salesforce,visualforce,Javascript,Salesforce,Visualforce,我想在Salesforce中创建自定义按钮覆盖。我想覆盖delete按钮,这样我就不需要删除,只需要它更改记录类型 我的自定义对象是缺席\uu c请尝试以下操作: 您只需编辑页面布局,删除删除按钮, 然后创建一个名为delete的自定义按钮,将javascript设置为按钮的行为。最后,将该按钮添加到页面布局中 这是自定义按钮的示例代码: {!REQUIRESCRIPT("/soap/ajax/15.0/connection.js")} var AbsenceUpdate = new sfor

我想在Salesforce中创建自定义按钮覆盖。我想覆盖delete按钮,这样我就不需要删除,只需要它更改记录类型

我的自定义对象是缺席\uu c

请尝试以下操作:

您只需编辑页面布局,删除删除按钮, 然后创建一个名为delete的自定义按钮,将javascript设置为按钮的行为。最后,将该按钮添加到页面布局中

这是自定义按钮的示例代码:

{!REQUIRESCRIPT("/soap/ajax/15.0/connection.js")}

var AbsenceUpdate = new sforce.SObject("Absence__c");

AbsenceUpdate.Id='{! Absence__c.Id  }';
AbsenceUpdate.RecordTypeId = '{new record type id}';

if(AbsenceUpdate!=null)
{
    try
    {
     updateOpp = sforce.connection.update([AbsenceUpdate]);
      window.location.reload();
    }
    catch(e)
    {
        alert('error : ' + e);
    }
}

我认为最好的选择是控制器扩展和覆盖现有的删除按钮

<apex:Page action="changeRTRedirect"
    standardController="Absence__c" extensions="DeleteOverrideExtension">
</apex:page>

public class DeleteOverrideExtension {
    private SObject record;

    public DeleteOverrideExtension(ApexPages.StandardController controller) {
        record = controller.getRecord();
    }

    public PageReference changeRTRedirect() {
        record.RecordTypeId = '[YOUR NEW RT ID]';
        update record;
        //where do you want to send users now, maybe the Absence__c tab?
        return Page.MyPageHere;
    }
}