Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Salesforce Javascript按钮调用多个函数_Javascript_Salesforce - Fatal编程技术网

从Salesforce Javascript按钮调用多个函数

从Salesforce Javascript按钮调用多个函数,javascript,salesforce,Javascript,Salesforce,我对javascript相当陌生,所以这可能是一个愚蠢的问题 我在Salesforce中构建了一个javascript按钮,单击该按钮时可以执行以下操作 我现在希望它只显示4个单独的警报,我将在以后的实际功能中添加它们 以下是我使用的代码: {!REQUIRESCRIPT("/soap/ajax/20.0/connection.js")} var leadObj = new sforce.SObject("Lead"); var countryVal = "{!Lead.Countr

我对javascript相当陌生,所以这可能是一个愚蠢的问题

我在Salesforce中构建了一个javascript按钮,单击该按钮时可以执行以下操作

我现在希望它只显示4个单独的警报,我将在以后的实际功能中添加它们

以下是我使用的代码:

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


var leadObj = new sforce.SObject("Lead"); 
var countryVal = "{!Lead.Country }"; 
var leadID = "{!Lead.Id}"; 
var ownerID = "{!Lead.OwnerId }"; 

function insertScript(script){ 
    var targetNode = document.createElement('div'); //  construct div for script injection 
    document.body.appendChild(targetNode); 
    try {
        var el = document.createElement('script');
            el.type="text/javascript";
            el.innerHTML = script;
        targetNode.appendChild(el); 
    } catch (e){ 
        var el = document.createElement('span'); 
        targetNode.appendChild(el); 
        el.innerHTML = "<br /><scr"+"ipt type='text/javascript' defer='defer'>"+script+"</script" + ">"; 
    } 

var box = new SimpleDialog("hersh"+Math.random(), true); 
    parent.box = box; 
    box.setTitle("Lead Rerouter"); 
    box.createDialog(); 
    box.setWidth(350); 
    box.setContentInnerHTML("<p align='center'><img src='/img/icon/profile24.png' style='margin:0 5px;'/><img src='/img/sales/quotes/sync_overlay_arrow.png' style='margin:5px;'/><img src='/img/icon/custom51_100/globe24.png' style='margin:0 5px;'/></p><p align='center'>Which region should this lead be routed to?</p><p align='center'><br /><button class='btn' onclick='routeAPAC(); return false;'>APAC</button><button class='btn' onclick='routeEMEA(); return false;'>EMEA</button><button class='btn' onclick='routeNA(); return false;'>NA</button><button class='btn' onclick='routeLATAM(); return false;'>LATAM</button><br><button class='btn' onclick='window.parent.box.hide(); return false;'>Cancel</button></p>"); 
    box.setupDefaultButtons(); 
    box.show(); 
} 

script = "function routeAPAC(){alert (\"Lead routed to APAC!\")}"; 
script = "function routeEMEA(){alert (\"Lead routed to EMEA!\")}"; 
script = "function routeNA(){alert (\"Lead routed to NA!\")}"; 
script = "function routeLATAM(){alert (\"Lead routed to LATAM!\")}";   


insertScript(script);
我做错了什么


谢谢

你把事情复杂化了

document.querySelector(".generatorbutton").onclick = function() {
    //add the window
}

var actionlist = {
    ".apa": function(){
        //things to do onclick
    },
    ".emea": function(){
        //things to do onclick
    },
    ".na": function(){
        //things to do onclick
    },
    ".latam": function(){
        //things to do onclick
    },
};
for(selector in actionlist) {
    document.querySelector(selector).onclick = actionlist[selector];
}
请看一看,以备将来参考

希望这有帮助

由于脚本变量被覆盖,在上面的代码中只能有最后一个函数RouteLaam将通过insertScript函数定义

如果您像下面这样连接,您将看到所有可用的函数定义

script = "function routeAPAC(){alert (\"Lead routed to APAC!\")}"; 
script += "function routeEMEA(){alert (\"Lead routed to EMEA!\")}"; 
script += "function routeNA(){alert (\"Lead routed to NA!\")}"; 
script += "function routeLATAM(){alert (\"Lead routed to LATAM!\")}";   

insertScript(script);