asp 调用子程序不能使用括号 错误解决办法

调试一个网页时,发生错误,我认为该错误具有普遍性,就记录下来个咯。



<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>

<form name="form2">
                <select name="menu1" onChange ="MM_jumpMenu ('parent',this,0)">
                  <option selected>快速链接</option>
                  <option value="http://www.cnu.edu.cn/">首都师范大学</option>
                  <option value="http://www.bjucmp.edu.cn/">北京中医药大学</option>
                  <option value="http://www.sina.com.cn/">新浪</option>
                  <option value="http://www.yahoo.com.cn/">雅虎</option>
                </select>
              </form>

运行后,会发生错误,提示调用子程序不能使用括号。

分析:asp默认的使用脚本为vbscript,规定在调用子程序时使用:   方法名=函数名"参数1,参数2,参数3" 的格式。    而onChange调用的函数为javascript定义的。

解决办法:在函数调用前加javascript标签,如下所示:

<form name="form2">
                <select name="menu1" onChange ="javascript : MM_jumpMenu ('parent',this,0)">
                  <option selected>快速链接</option>
                  <option value="http://www.cnu.edu.cn/">首都师范大学</option>
                  <option value="http://www.bjucmp.edu.cn/">北京中医药大学</option>
                  <option value="http://www.sina.com.cn/">新浪</option>
                  <option value="http://www.yahoo.com.cn/">雅虎</option>
                </select>
              </form>

原文地址:https://www.cnblogs.com/hellofengying/p/808826.html