为什么这个JS方法changelocation(locationid)只能放在html文件里呢?我将changelocation(locationid)单独的保存成1.js文件
然后再<script src="1.js"></script>,调用时却无法正常使用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title><script type="text/javascript"><!-- 二级联动 -->
function changelocation(locationid)
{
document.myform.ctype.length = 0; var locationid=locationid;
var i;
for(i=0;i<onecount;i++)
{
if(w_data.type2[i].w_fid==locationid)
{
document.myform.ctype.options[document.myform.ctype.length] = new Option(w_data.type2[i].w_name, w_data.type2[i].w_id);
}
}
if(0==locationid)
{
document.myform.ctype.options[document.myform.ctype.length] = new Option("--请选择--","0");
}
}
</script></head>
<body>
<br /><br />
<form name="myform"  method="post" action="__URL__/productstype_insert">
<table width="780" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#5676b3">
  <tr>
    <td colspan="2" align="center" bgcolor="#5676b3"><span class="Title">添加产品</span></td>
  </tr>
    <tr bgcolor="#FFFFFF">
    <td width="120" align="center" >产品名称:</td>
    <td width="640" align="left"><input name="title" type="text" size="30" />
</td>
    </tr>
    <tr bgcolor="#FFFFFF">
    <td lign="center">产品类型:</td>
    <td align="left">
一级栏目:<select name="w_type"  onChange="changelocation(document.myform.w_type.options[document.myform.w_type.selectedIndex].value)">
<option selected value="0">-请选择-</option>
<volist name="type1" id="type1">
<option value="{$type1.w_id}">{$type1.w_name}</option>
</volist>
</select> 二级栏目:
<select   name="ctype">
<option selected value="">--请选择--</option>
</select>
</td>
    </tr>
  <tr bgcolor="#FFFFFF">
    <td align="center">产品图片:</td>
    <td align="left" >
<input name="upfile1" type="file" size="10" style="WIDTH: 242px" />
</td>
  </tr>
  <tr bgcolor="#FFFFFF">
    <td align="center">产品描述:</td>
    <td align="left">
<textarea id="w_content" name="w_content" rows="16" cols="60" style="width: 80%"></textarea>
</td>
  </tr>
  <tr bgcolor="#FFFFFF">
    <td colspan="2" align="center">
<input class="btn_blue" type="submit" value="提 交" />
</td>
  </tr>
</table>
</form>
</body>
</html>

解决方案 »

  1.   

    <script language="javascript" src="1.js"></script>,放到body里面就可以了。
      

  2.   

    <script language="javascript" src="1.js"> </script> 还是放你原来的位置
    检查下你的html和js是否在一个路径下
      

  3.   

    <script language="javascript" src="1.js"> </script>加上 language="javascript"
      

  4.   

    <script type="text/javascript" src="1.js"></script>
      

  5.   

    还是不行啊。说38行错误
    消息: 缺少对象
    行: 38
    字符: 1
    代码: 0
    URI: http://localhost/back/products_add
    这是38行 一级栏目:<select name="type"  onChange="changelocation(document.myform.type.options[document.myform.type.selectedIndex].value)">
      

  6.   

    1.js文件中有把<script type="text/javascript">和</script>去掉了吗?
      

  7.   


    当然去掉了1.js里还有其他的方法,可以调用,就这个不行.是不是独立出来后,document.myform.ctype.length这样取值不行?
    可是为什么放到html文件里又可以呢?