Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
调用setFocus()后未调用Javascript函数_Javascript_Salesforce_Visualforce - Fatal编程技术网

调用setFocus()后未调用Javascript函数

调用setFocus()后未调用Javascript函数,javascript,salesforce,visualforce,Javascript,Salesforce,Visualforce,我在Salesforce应用程序中使用java脚本,我处于一种奇怪的情况下。 我在visualforce页面中使用了以下代码 <script> var previousOnLoad = window.onload; window.onload = function() { if (previousOnLoad) { previousOnLoad(); } renderSection('false

我在Salesforce应用程序中使用java脚本,我处于一种奇怪的情况下。 我在visualforce页面中使用了以下代码

<script>
    var previousOnLoad = window.onload;
    window.onload = function() {
        if (previousOnLoad) {
            previousOnLoad();
        }

        renderSection('false');
        setFocus();
    }

    function setFocus() {
        document.getElementById("{!$component.thePageBlock.state}").focus()
    }

    function renderSection(input) {
        if (input == true) {
            document.getElementById("{!$component.thePageBlock.theSection}").style.display='block';
        }
    }
</script>

var-previousOnLoad=window.onload;
window.onload=函数(){
如果(以前的加载){
上一次加载();
}
渲染部分(“假”);
setFocus();
}
函数setFocus(){
document.getElementById(“{!$component.thePageBlock.state}”).focus()
}
函数renderSection(输入){
如果(输入==true){
document.getElementById(“{!$component.thePageBlock.theSection}”).style.display='block';
}
}
我所面临的问题是在调用了
setFocus()
函数之后,没有调用另一个函数
rendersection()
。但是当我删除
setFocus()
然后重试时,就会调用
rendersection()
。正如在上面的代码中所看到的,我也尝试在
setFocus()
之前给出
rendersection()
。但它仍然不起作用。有人知道我是否遗漏了什么吗

此外,当我尝试将setFocus()更改为不同的值(如putFocus或getFocus)时,会调用该函数,但不会将焦点设置为所需的字段


谢谢

您是否在javascript调试控制台中收到错误?是否确定未调用renderSection?或者可能它被呼叫了,只是什么也没做。(您使用input='false'调用它,并且函数中有if-input==true语句)我通过在if语句之前的renderSection()中使用警报进行了交叉检查。如果没有setFocus(),则会弹出警报,否则不会。控制台中也没有错误。