把你的frame的名字或id当做参数返回给你的test()
<input type=button name=d1 onclick=test(framename.formname)>

解决方案 »

  1.   

    调试:function test()
    {
    //第一步看看这两个值是否正常
    alert(question_now);
    alert(question_number); //第二步看看这个是不是对象[object]
    alert(parent.BottomWindow) if (question_now<question_number)
    {
    question_now++;
    alert(question) //第三步看这个是不是正确
    alert(question.length) //第四步看这个的长度是否大于question_now
    switch(question[question_now])
    {
    case 0: parent.BottomWindow.q_0(); break;
    case 1: parent.BottomWindow.q_0(); break;
    case 2: parent.BottomWindow.q_0(); break;
    case 3: parent.BottomWindow.q_0(); break;
    case 4: parent.BottomWindow.q_0(); break;
    case 5: parent.BottomWindow.q_0(); break;
    case 6: parent.BottomWindow.q_0(); break;
    case 7: parent.BottomWindow.q_0(); break;
    case 8: parent.BottomWindow.q_0(); break;
    case 9: parent.BottomWindow.q_0(); break;
    }
    }
    else parent.BottomWindow.document.write("End");
    //parent.BottomWindow.location.replace('top.html');
    }
      

  2.   

    楼上二位,我查过了,错就错在 parent.BottomWindow.q_0(); 这个文档写不进去。一写就出错。我用了,test(bottom.form); 重新写了,还是不行。补充说明,top 和 bottom 同是main frame下的子frame.
      

  3.   

    哦,你调用了q_0()以后,frame里的内容已经被document.write的东西替换了。就是说这个函数已经被不存在了,所以出错。
      

  4.   

    q_0()应该放在在top frame中.
    改成,: parent.BottomWindow.document.write("What is the best one: .....");
      

  5.   

    或者你在bottom frame里不要用document.write.
    弄一个<span id="bottomContent"></span>
    然后:
    function q_0()
    {
    bottomContent.innerHTML = "考题1........."
    }
    function q_1()
    {
    bottomContent.innerHTML = "考题2........."
    }