<script language="JavaScript">
var myDate=new Date();
function JFYear(yearn){
JFYear = "<select name=JFYear"+ yearn +" id=JFYear"+ yearn +"><option value='' selected></option>";
for(i=0; i<=50; i++){
var myYear = myDate.getFullYear()-i;
JFYear += "<option value='"+ myYear +"'>"+ myYear +"</option>";
}
JFYear += "</select>";
return JFYear;
}
function addRJ(){
if(n>10){
alert("增加达到上限。");
}else{
n++;m++;
var addJFYear;
addJFYear = JFYear(n);    //这里报错“缺少函数”
NewRJ = document.all.myinfotable3.insertRow();
NewRJ.insertCell().innerHTML = addJFYear;
document.getElementById('RJNum').value = m;
}
}
</script>
<table id="myinfotable3">
<script language="JavaScript">var n=1;m=1</script>
<tr><td><script language="JavaScript">document.write(JFYear(n));</script></td></tr>   //这里就不报错
</table><button onClick="addRJ();">增加</button><input type="text" name="RJNum" Id="RJNum" value="1">各位高手帮我看看这个到底是怎么回事,谢了先!

解决方案 »

  1.   

    我找了一个例子就没有问题  <script language="javascript">
      function Compare(x,y)
      {
        if(x>y)
        {
         Compare = "<select><option value='' selected></option>";
         for(i=0; i<=x; i++){
         Compare += "<option value='"+ i +"'>"+ i +"</option>";
         }
         Compare += "</select>";
          return Compare;
        }
        else
        {
         Compare = "<select><option value=''>"+ y +"</option></select>"
         return Compare;
        }
      }
      </script>
      <div id="abc"></div>
      <script language="javascript">
        var result=Compare(24,23);  //此处的调用和上面调用的方法一样,但这个就不报错
        document.write("the max value is:"+result);
        document.getElementById("abc").innerHTML = "the max value is:"+result;
      </script>
      

  2.   

    刚刚发现,不管是JFYear(n)还是Compare(24,23),都只能调用一次,再调用一次就会报“缺少函数”
      

  3.   

    <script language="JavaScript">
    var myDate=new Date();
    var n=1;m=1;
    function JFYear(yearn){
    var temp = null;
    temp = "<select name=JFYear"+ yearn +" id=JFYear"+ yearn +"><option value='' selected></option>";
    for(i=0; i<=50; i++){
    var myYear = myDate.getFullYear()-i;
    temp += "<option value='"+ myYear +"'>"+ myYear +"</option>";
    }
    temp += "</select>";
    return temp;
    }
    function addRJ(){
    if(n>10){
    alert("增加达到上限。");
    }else{
    n++;m++;
    var addJFYear;
    addJFYear = JFYear(n);    //这里报错“缺少函数”
    NewRJ = document.all.myinfotable3.insertRow();
    NewRJ.insertCell().innerHTML = addJFYear;
    document.getElementById('RJNum').value = m;
    }
    }
    </script>
     </HEAD>
     <BODY> 
    <table id="myinfotable3">
    <tr><td><script language="JavaScript">document.write(JFYear(n));</script></td></tr>   //这里就不报错
    </table><button onClick="addRJ();">增加</button><input type="text" name="RJNum" Id="RJNum" value="1">
      

  4.   

    JFYear = "<select name=JFYear"+ yearn +" id=JFYear"+ yearn +"><option value='' selected></option>";
    你这里把JFYear转换成string处理了,而不是function
    你用一些typeof就知道,compare也是一样