func2="00";
第一次调用后func2就等于一个字符串了,不再是一个函数,当然在第二次时就提示说没有函数!  如果只是可以运行,如下更改就可以:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>New</TITLE>
</HEAD><BODY>
<SCRIPT language="javascript">
<!--
function cg2(va2){
  switch(va2){
  case 08:
          document.all("SignCheckNo2").checked = false;
 break;
  case 09:
          var func2var;
          func2var=func2();//呼叫函數
 alert(func2var);
    if (func2var=="09")
{
     break; 
}
else
{
     document.all("SignCheckNo2").checked = true;
              document.all("SignTB22").style.display ="";
     break;
}
}
}
   
function func2()
{  
  
  var signmail="name1"
  var jpcuser="name2";
  if (signmail==jpcuser){
     alert("你無權簽核!");
     return "09";
  }
  else
  {
     return "00";
  }
}//-->
</SCRIPT>
<form  name=form1>
<input type="radio" name="SignCheckNo2"  id="SignCheckNo2" value="2" onclick="cg2(09)">不同意
<table width="100%"  border="0"  id="SignTB22" style="display:none ">
<tr>
<td width="150">不同意原因:</td>
<td>
<textarea name="CancelSign_Reason2" style="WIDTH:350px;height:40px" id="CancelSign_Reason2"></textarea>
</td>
</tr>
</table>
</form></BODY>
</HTML>