调用setFocus()后未调用Javascript函数
我在Salesforce应用程序中使用java脚本,我处于一种奇怪的情况下。 我在visualforce页面中使用了以下代码调用setFocus()后未调用Javascript函数,javascript,salesforce,visualforce,Javascript,Salesforce,Visualforce,我在Salesforce应用程序中使用java脚本,我处于一种奇怪的情况下。 我在visualforce页面中使用了以下代码 <script> var previousOnLoad = window.onload; window.onload = function() { if (previousOnLoad) { previousOnLoad(); } renderSection('false
<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(),则会弹出警报,否则不会。控制台中也没有错误。