javascript:使用document.getElementById读取数据为空分析

  今天写个网页,想在页面加载onLoad时,动态显示由后台其他程序传来的数据时,用document.getElementById获取控件对象总是为空。但是检查了这个id确实是存在的。在网上查阅一番后才知道了其中的原因。

  1.下面是一个简单的例子,页面加载时显示一段信息

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
      <script language="javascript">
          alert("hello!!!");
      </script>
  </head>

  <body onLoad="showMessage()">
      <h1>在页面加载之前,会输出一些信息</h1>
  </body>
</html>

  执行后,确实是“在页面加载前,输出了信息”。

  2.下面的例子会出现document.getElementById为空的情况。

  我的计划是:在页面加载时,在<body></body>的文本框中显示由后台处理来的数据,比如这里的字符串“hello, my friend!”。但是这里通过通过document.getElementById读取的是对象为空。

  因为onLoad方法在页面<body></body>加载之前执行,此时id="mes"对应文本框的文本框,还没有加载进去。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
      <script language="javascript">
          var t=document.getElementById("mes");
          t.value="hello, my friend!"
      </script>
  </head>

  <body onLoad="showMessage()">
      the message is:<input type="text" id="mes">
  </body>
</html>

  3.解决办法  
  在加载Html网页时,会加载<html></html>中的所以数据。先加载<head>,再加载<body>。

  所以我们可在</body>之后,在</html>之前写入javascript就好了。程序顺序执行,执行到相应的javascript调用就可以执行。不是用onLoad方法。

  代码如下:  

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <body>
          the message is:<input type="text" id="mes">
    </body>

      <!-- 继续执行javascript代码 -->
    <script language="javascript">
          function showMessage()
          {
              var t=document.getElementById("mes");
              t.value="hello, my friend!"
          }
          showMessage();    //调用方法,更新文本框
      </script>
</html>

 

 

 

 

 

时间: 2024-09-30 11:17:20

javascript:使用document.getElementById读取数据为空分析的相关文章

esult et-关于ResultSet读取数据为空时问题

问题描述 关于ResultSet读取数据为空时问题 想请教一下,jsp我用ResultSet对象(rs)读数据库记录 有数据的话没问题,但如果数据库0条数据,就会直接出现无效游标状态错误,我下面的什么If(rs==null).rs.next()这些都不会执行,Debug就是在查询那句直接报错,后面都不运行了.怎么处理这个问题?

javascript中document.getElementById的常用例子

改变 HTML 属性 如需改变 HTML 元素的属性,请使用这个语法:    代码如下 复制代码 document.getElementById(id).attribute=new value 本例改变了 元素的 src 属性:  代码如下 复制代码 <img id="image" src="smiley.gif" alt="" />   <script type="text/javascript">

&amp;amp;#x27;document.getElementById(...)&amp;amp;#x27; 为空或不是对象

问题描述 请大家帮忙看看.functiont_setpw(gname,btnid,msg){vargv=document.getElementById(gname);varcb=document.getElementsByTagName("input");varj=0;varselectedvalue="";for(vari=0;i<cb.length;i++){if(cb[i].type=="checkbox"&&cb[i

JAVASCRIPT中document.getElementById使用方法

改变 HTML 属性 如需改变 HTML 元素的属性,请使用这个语法: document.getElementById(id).attribute=new value 本例改变了  元素的 src 属性: <img id="image" src="smiley.gif" alt="" />     <script type="text/javascript"> document.getElementBy

document.getElementById获取控件对象为空的解决方法_基础知识

1.下面是一个简单的例子,页面加载时显示一段信息 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>      <

javascript代码在ie8里报错 document.getElementById(...) 为空或不是对象的解决方法[原创]_javascript技巧

ie8中对于声明文档类型更加严格如下面的代码. 运行环境: 清空 Windows平台 S60v2 S60v3 CHM PDF PPT WORD EXCEL asp asp+access asp+sqlserver asp+sql/access php源码 php php+mysqljsp asp.net源码 asp.net asp.net+access asp.net+sql asp.net+sql/access [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 可以看到这段代码在ie

document.getElementById为空或不是对象的解决方法_javascript技巧

1. 'null'为空或不是对象: <script type="text/javascript"> 里面加个defer=true属性试试看, 即:<script type="text/javascript" defer=true> 2. document.getElementById为null 原因: var titab=document.getElementById("titletab");没有取到对象 解决办法: 1.

javascript jquery-jquery中getScript()的用法详解,从一个远程js文件中读取数据

问题描述 jquery中getScript()的用法详解,从一个远程js文件中读取数据 第一个html文件: <html> <head> <script type="text/javascript" src="jquery-2.1.3.js"></script> $.getScript("shuj.js",function(){alert("aaaaa");}) </hea

javascript typeof id===&#039;string&#039;?document.getElementById(id):id解释[原创]_基础知识

一般来说想要理解这段代码,需要掌握如下两个函数 一个是 typeof 一个就是三元运算符 看完了上面的文章再看下面的就比较好理解了 一般来说常用的函数代码 function $(id){ return typeof id==='string'?document.getElementById(id):id;} var GetBy = function (id) { return "string" == typeof id ? document.getElementById(id) : i