元素ID无法访问javascript

万王之王

我有以下代码。在这里,我在声明所有函数之前将所有元素id声明为全局变量。但是这些变量是由以下函数获取的,是示例:

var ddlpf=document.getElementById('<%=ddlpf.ClientID%>');  
var disp_msg=document.getElementById('<%=disp_msg.ClientID%>');  
function btn_proceed_Click()  
{  
   var ses='<%=Session("hcur").toString %>';  
   if(pos_valid()==true)  
   alert('success');  
}

function pos_valid()  
{  
   var pos_valid=false;  
   var ses;  
   var ccy;  
   var ccy1;  
   var ccy2;  
   var as11costbud;  
   ses='<%=Session("hcur").toString %>';  
   var bm='<%=Session("benchmark").toString %>';  
   var dtsheet='<%=Session("dtsheet").toString %>';  
   var ratedis='<%=Session("ratedis").toString %>';  
   if(ddlpf.selectedIndex <= 0)  
   {  
       message("Please select the Portfolio");  
       return;  
   }  
   pos_valid=true;  
   return pos_valid;  

}

function message(msg)  
{  
    disp_msg.innerHTML=msg;  
    var modalPopupBehaviorCtrl = $find('modalpop');              
    modalPopupBehaviorCtrl.set_PopupControlID("poppan");    
    modalPopupBehaviorCtrl.show();   
}

如果我在pos_valid()中声明变量“ ddlpf”,在message()中声明变量“ disp_masg”,则它起作用。代码是这样的:

function pos_valid()      
{        
    var ddlpf=document.getElementById('<%=ddlpf.ClientID%>');      
    //code    
}

function message()       
{    
    var disp_msg=document.getElementById('<%=disp_msg.ClientID%>');     
    //code    
}    

但是这些ID是5个函数共有的。不只是这两个。我有5个大功能共有的20个ID。那就是为什么我在函数之外声明了它们。

我应该做出什么改变?

阿拉文德

我猜您是将脚本放在HTML页面的顶部。因此该页面尚未完成加载,因此您试图document.getElementById在document.body准备就绪之前访问因此,当您在函数中访问它们时,变量值将是undefined=>您的问题

这样尝试

var ddlpf;  
var disp_msg;  

window.onload = function(){
    ddlpf=document.getElementById('<%=ddlpf.ClientID%>');  
    disp_msg=document.getElementById('<%=disp_msg.ClientID%>');  
}

这样,您可以将代码放在任何地方。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法访问javascript中的元素(空)

来自分类Dev

无法访问选择元素javascript的属性

来自分类Dev

Dart:无法访问动态设置的元素ID

来自分类Dev

无法访问容器的元素

来自分类Dev

无法访问数组的元素

来自分类Dev

无法访问ForeignKey元素

来自分类Dev

无法访问数组元素

来自分类Dev

Javascript变量是对象数组,但无法访问元素

来自分类Dev

无法访问指令的ID

来自分类Dev

元素+元素无法访问:伪之前

来自分类Dev

无法访问li元素内的跨度?

来自分类Dev

我无法访问Web元素的文本

来自分类Dev

无法访问嵌套字典元素python

来自分类Dev

Java:无法访问对象的元素

来自分类Dev

指令无法访问被包含的元素?

来自分类Dev

无法访问函数内部的元素

来自分类Dev

无法访问动态生成的元素

来自分类Dev

无法访问php数组的元素

来自分类Dev

无法访问被单击的元素

来自分类Dev

无法访问新的React本机元素

来自分类Dev

硒无法访问隐藏的元素

来自分类Dev

PHP数组循环-无法访问元素

来自分类Dev

无法访问被单击的元素

来自分类Dev

无法访问React中的数组元素

来自分类Dev

无法访问网站上的元素

来自分类Dev

无法访问 TypeScript 中的模型元素

来自分类Dev

无法访问 Selenium 中的现场元素

来自分类Dev

JavaScript无法加载,路径无法访问

来自分类Dev

无法访问 id 元素来为 Ajax 帖子的 JS 列表构建对象。