有调用4个javascript函数,运行的时候提示出错“缺少对象,错误类型:424”
1.
//功能:设置查询文件内隐藏变量的当前页号、总页数、并提交查询。
//输入参数:
//sValue:第一页(First),上一页(Prev),下一页(Next),最后一页(Last)
//frame:查询文件所在的frame的名称
//调用:列表文件调用装载完毕后调用
//===================================================================function DoPage(sValue,frame)
{
try
{
        if (typeof(frame) == 'undefined')   frame = "parent.left_frame";
        //eval("var objForm = "+frame+".document.getElementById(\"frmSearch\");");
var objForm=frame.document.getElementById("frmSearch");
var intPage=parseInt(objForm.intCurrentPage.value);
var intTotalPages=parseInt(objForm.intTotalPages.value);
switch (sValue) {
case "First":
{
if (intPage>1)
{
                    showProcessBar(this); //显示进度条
objForm.intCurrentPage.value=1;
objForm.submit();
}
break;
}
case "Prev":
{ if (intPage>1)
{
                    showProcessBar(this); //显示进度条
objForm.intCurrentPage.value=intPage-1;
objForm.submit();
}
break;
}
case "Next":
{ if (intPage<intTotalPages)
{
                    showProcessBar(this); //显示进度条
objForm.intCurrentPage.value=intPage+1;
objForm.submit();
}
break;
}
case "Last":
{ if (intPage<intTotalPages)
{
                    showProcessBar(this); //显示进度条
objForm.intCurrentPage.value=intTotalPages;
objForm.submit();
}
break;
}
case "ListAll":
{
    if (intTotalPages > 1)
    {
                    showProcessBar(this); //显示进度条
                    objForm.intCurrentPage.value=1;
                    objForm.intTotalPages.value=-1; //用来做标志判断
                    objForm.submit();
                }
break;
}
}
}
catch (e)
{
        //processException(e);
}
}
2.
//功能:设置列表文件及查询文件的页号、总页数。
//输入参数:
//totalPage:总页数
//currPage:当前页号
//frame:查询文件所在的frame的名称
//调用:列表文件调用装载完毕后调用
//===================================================================function setPage(totalPage,currPage,frame)
{
    var intCurrPage=parseInt(currPage);
    var intTotalPages=parseInt(totalPage);
    if (intTotalPages==0)  currPage = "0";
    try {
        document.getElementById("spnCurrPage").innerText = currPage;
        document.getElementById("spnTotalPages").innerText = totalPage;
        document.getElementById("firstPage").disabled = true;
        document.getElementById("prevPage").disabled = true;
        document.getElementById("nextPage").disabled = true;
        document.getElementById("lastPage").disabled = true;
        document.getElementById("listAll").disabled = true;
        if (intCurrPage>1)
        {
            document.getElementById("firstPage").disabled = false;
            document.getElementById("prevPage").disabled = false;
        }        if (intCurrPage<intTotalPages)
        {
            document.getElementById("nextPage").disabled = false;
            document.getElementById("lastPage").disabled = false;
        }
        if (intTotalPages > 1)
        {
            document.getElementById("listAll").disabled = false;
        }
        if (intTotalPages==0) alert("没有查询到符合条件的记录!");
    } catch(e) {
        //processException(e);
    }
    try {
        if (typeof(frame) == 'undefined')   frame = "parent.left_frame";
        //eval("var objForm = "+frame+".document.getElementById(\"frmSearch\");");
       var objForm=frame.document.getElementById("frmSearch");
        objForm.intCurrentPage.value = currPage;
        objForm.intTotalPages.value = totalPage;
    } catch (e) {
       // processException(e);
    }
}
3.
//功能:如果返回结果大于或等于指定的记录数,弹出提示
//输入参数:
//maxResults:指定的记录数
//调用:列表文件调用装载完毕后调用
//===================================================================function setRecordLimit(maxResults)
{
    if (maxResults > 0)
    {
        var hint = "您本次查询结果的实际记录数多于"+maxResults+"条,系统只取前"+maxResults+"条。\n\n";
        hint += "要缩小查询结果,请输入更多或更精确的查询条件!";
        alert(hint);
    }
}
4.
function setRecord(fromIndex,toIndex,totalRecords)
{
    try {
        document.getElementById("spnFromIndex").innerText = fromIndex;
        document.getElementById("spnToIndex").innerText = toIndex;
        document.getElementById("spnTotalRecords").innerText = totalRecords;
    } catch(e)
    {
        processException(e);
    }
}各位帮忙看一下,很急

解决方案 »

  1.   

    天啊,最怕看代码了
    你看看出错的行,用firebug慢慢调吧。
      

  2.   

    一个JSP文件比如jsp1.jsp里面调用这些javascript,用了如下语句:<script src="<c:url value="/js/framework.js"/>" type="text/javascript"></script>以上这些javascript函数统一放在"/js/framework.js“里,然后在jsp2.jsp文件里包含jsp1.jsp
    结果就发生上述错误,但是点确定后程序还可以运行
      

  3.   

    var objForm=frame.document.getElementById("frmSearch");
    frame没有直接的document对象,肯定是错误的。
    eval("var objForm = "+frame+".document.getElementById(\"frmSearch\");");
    为什么不用,而注释了呢?
      

  4.   

    请问上述两句有什么区别?如果frame没有直接的document对象,那eval("var objForm = "+frame+".document.getElementById(\"frmSearch\");");这句跟那句有什么区别?改了之后还是有错误jsp1.jsp
    <form styleId="frmSearch">那在上述javascript文件中是如何引用的?