function GetAllDevName()
{
var selectObj = document.getElementById("devList");
if(selectObj == undefined) return; var strDevName = form1.ggcom.GetAllDevName();
var strDevNameArr=strDevName.split(";");
for(i=0;i<strDevNameArr.length;i++)
{
selectObj.options.add(new Option(strDevNameArr[i],i));
}
}
报错指向这个方法的第一行,请高手手指点,静态的html可以执行成功,但是当做jsp部署到tamcat中,在访问就报错!如果不详细可以附上代码!

解决方案 »

  1.   

    <table width="900" height="500" border="0" cellpadding="0" cellspacing="0">
    <form name="form1">
    <tr>
        <td><table width="180" height="100%" bgcolor="#CEE1C4" valign="top">
          <tr>
            <td height="40" align="center" valign="middle">影像设备列表<select id=devList onChange = SetCameraID(this.value) style="width:98%"></select></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle">设备分辨率<select id=resList onChange = SetResolution(this.options[this.selectedIndex].text) style="width:98%"></select></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle">图片路径<input name="savePath" value="C:\" style="width:140"><input id=browse type="button" value="..." onclick=BrowseFolder()></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle"><input id=start type="button" value="  预    览 " onClick=Start()></td>
          </tr>
    <td height="40" align="center" valign="middle"><input type="checkbox" name="是否裁边" onClick=CutBlackMargin()>是否裁边</td>
          <tr>
            <td height="40" align="center" valign="middle"><input id=getPic type="button" value="  拍    图 " onClick=GetPic()></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle"><input id=stop type="button" value="  关    闭 " onClick=Stop()></td>
          </tr>       
          <tr>
            <td height="40" align="center" valign="middle"><input id=option type="button" value="  设    置 " onClick=ShowSetup()></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle"><input id=toolbar type="button" value="  工 具 条 " onClick=ShowToolBar()></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle"><input id=about type="button" value="  关    于 " onClick=ShowAboutBox()></td>
          </tr>
          <tr><td height="100%"></td></tr></table>
       </td>
    <td width="100%" valign="top">
    <OBJECT id="ggcom" classid="clsid:5026E632-AE63-4094-8981-9CE9EE9EA003" width="100%" height="100%" CODEBASE="GGCamera.CAB#version=1,0,0,0">
    <param name="_Version" value="65536">
    <param name="_ExtentX" value="2646">
    <param name="_ExtentY" value="1323">
    <param name="_StockProps" value="0">
    </object>
    </td>
    </tr>
    <tr><td height="10">
    </tr>
    </form>
    </table>
      

  2.   

    是不是你这个方法前面的HTML代码不正确?
    或者是引用了其他的JS,JS语法错误导致这个错误?
      

  3.   

    不知道你的jsp是不是嵌入在frame中的,用调试工具跟踪下你的document是指向哪的
      

  4.   

    我把代码附上,帮忙看下吧,谢谢了。
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        <style type="text/css">
    </style>
        <title>My JSP '1234.jsp' starting page</title>
        
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->  </head>
    <script type="text/javascript">

    window.onload=function()
    {
            GetDevResolution();
    GetAllDevName();
    }

    </script>
      <script language="javascript" type="text/JavaScript">
    var bShow = 0;
    var nCount = 0;
    var bAddText = 0;
    var bRotate = 0;
    var checked = 0;function CutBlackMargin()
    {
     var obj = document.getElementsByTagName("input"); 
             for(var i = 0; i < obj.length; i++)
             {
              var cb = obj[i];
                    if (cb.type== "checkbox")
                    {
                     if (cb.checked)
                              form1.ggcom.ClrBlackMargin = 1;  //裁边
    else
     form1.ggcom.ClrBlackMargin = 0; 
                     }
                }
    }function GetPic()
    {
    nCount = nCount + 1;
    var strFolderPath = document.getElementById("savePath").value;
    if(strFolderPath.charAt(strFolderPath.length-1) != "//")
    strFolderPath = strFolderPath + "//";
    var strfilePath = strFolderPath + padLeft(nCount,3) + ".jpg";

    form1.ggcom.GetRectPic2(strfilePath,60,0,0,0,0,0);
    }function ShowToolBar()
    {
    if (bShow == 0)

    form1.ggcom.ShowToolbar(0);
    bShow = 1;
    }
    else

    form1.ggcom.ShowToolbar(1);
    bShow = 0;
    }
              
    }function ShowSetup()
    {
    form1.ggcom.ShowSetup();
    }function Start()
    {
    var objDevice = document.getElementById("devList");
    if(objDevice == undefined) return;
    SetCameraID(objDevice.options[objDevice.selectedIndex].value); var objResolution = document.getElementById("resList");
    if(objResolution == undefined) return;
    SetResolution(objResolution.options[objResolution.selectedIndex].text)
    // form1.ggcom.ClrBlackMargin = 1;  //裁边
    }function Stop()
    {
    form1.ggcom.Stop();
    }function ShowAboutBox()
    {
    form1.ggcom.AboutBox();
    }function GetAllDevName()
    {
    var strDevName = form1.ggcom.GetAllDevName();
    var strDevNameArr=strDevName.split(";");
    var selectObj = document.getElementById("devList");
    if(selectObj == undefined) return; for(i=0;i<strDevNameArr.length;i++)
    {
    selectObj.options.add(new Option(strDevNameArr[i],i));
    }
    }function SetCameraID(ID)
    {
    form1.ggcom.Stop();
    form1.ggcom.CurCameraID = ID;        GetDevResolution();
            
    }function GetDevResolution()
    {
    var selectObj = document.getElementById("resList");
    if(selectObj == undefined) return;
    selectObj.innerHTML = ""; var strResolution = form1.ggcom.GetDevAllResolution1(form1.ggcom.CurCameraID);
    var strResolutionArr = strResolution.split(";");
    for(i=0;i<strResolutionArr.length;i++)
    {
    selectObj.options.add(new Option(strResolutionArr[i],i));
    }
    }function SetResolution(txt)
    {
    form1.ggcom.Stop();
            var i = txt.indexOf("x");
            var j = txt.indexOf("(");
    var k = txt.indexOf(")");
    var width = txt.substring(0,i);
    var height = txt.substring(i+1,j);
    var bitcount = txt.substring(j+1,k);
     
    var state =  0;
            state=form1.ggcom.SetPrevResolution(width,height,bitcount);
         if( state == 1 )
    {
    // form1.ggcom.ClrBlackMargin = 1;  //裁边
    form1.ggcom.Start();
    }
            else
    alert("不支持当前设置");
    } function BrowseFolder()
     {
    try
    {
    var Message = "请选择文件夹";  //选择框提示信息
    var Shell = new ActiveXObject( "Shell.Application" );
    var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);//起始目录为:我的电脑
    //var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面
    if(Folder != null)
    {
    Folder = Folder.items();  // 返回 FolderItems 对象
    Folder = Folder.item();  // 返回 Folderitem 对象
    Folder = Folder.Path;   // 返回路径
    document.all.savePath.value=Folder;
    return Folder;
    }
    }
    catch(e)

    alert(e.message);
    }
    }function padLeft(str,lenght)

    if(str.length >= lenght) 
    return str; 
    else 
    return padLeft("0" +str,lenght); 
    } </script>
      <body>
        
    <div>
    <img src="indexbg.jpg" width="900" height="56">
    </div>
    <form name="form1">
    <table width="900" height="500" border="0" cellpadding="0" cellspacing="0"> <tr>
        <td><table width="180" height="100%" bgcolor="#CEE1C4" valign="top">
          <tr>
            <td height="40" align="center" valign="middle">影像设备列表<select id=devList onChange = SetCameraID(this.value) style="width:98%"></select></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle">设备分辨率<select id=resList onChange = SetResolution(this.options[this.selectedIndex].text) style="width:98%"></select></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle">图片路径<input name="savePath" value="C:\" style="width:140"><input id=browse type="button" value="..." onclick=BrowseFolder()></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle"><input id=start type="button" value="  预    览 " onClick=Start()></td>
          </tr>
        <tr>
        <td height="40" align="center" valign="middle"><input type="checkbox" name="是否裁边" onClick=CutBlackMargin()>是否裁边</td>
           </tr>
      <tr>
            <td height="40" align="center" valign="middle"><input id=getPic type="button" value="  拍    图 " onClick=GetPic()></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle"><input id=stop type="button" value="  关    闭 " onClick=Stop()></td>
          </tr>       
          <tr>
            <td height="40" align="center" valign="middle"><input id=option type="button" value="  设    置 " onClick=ShowSetup()></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle"><input id=toolbar type="button" value="  工 具 条 " onClick=ShowToolBar()></td>
          </tr>
          <tr>
            <td height="40" align="center" valign="middle"><input id=about type="button" value="  关    于 " onClick=ShowAboutBox()></td>
          </tr>
          <tr><td height="100%"></td></tr></table>
       </td>
    <td width="100%" valign="top">
    <OBJECT id="ggcom" classid="clsid:5026E632-AE63-4094-8981-9CE9EE9EA003" width="100%" height="100%" CODEBASE="GGCamera.CAB#version=1,0,0,0">
    <param name="_Version" value="65536"/>
    <param name="_ExtentX" value="2646"/>
    <param name="_ExtentY" value="1323"/>
    <param name="_StockProps" value="0"/>
    </object>
    </td>
    </tr>
    <tr><td height="10"></td>
    </tr>
    </table>
    </form>
      </body>
    </html>
      

  5.   

    我调试了一下,报错应该是在SetCameraID(objDevice.options[objDevice.selectedIndex].value);或者之后,第一句是可以执行通过的
      

  6.   

    差不多吧,都是这个方法报错,纠结一天了,好像就是document,或者form对象没有获取到
      

  7.   


    你把objDevice.options[objDevice.selectedIndex].value值打出来看看,是不是页面没option值导致的报错