打印

[已解决] 为什么我在<head>引入一个JS文件,怎么用不了?</head>

为什么我在<head>引入一个JS文件,怎么用不了?</head>

为什么我在<head>引入一个JS文件,怎么用不了?</head>
<script type="text/javascript" language="javascript" src="date.js" charset="UTF-8"></script>
怎么不能调用date.js里面的方法呢?

[ 本帖最后由 peter 于 2010-3-12 09:17 编辑 ]

TOP

怎么可能有这种情况。
date.js与页面放在同一文件夹下?
用软件看一下打开页面时这个文件有没下载。看一下下载的文件与你写的是否一致(有可能使用了旧的缓存版本)

TOP

是同一文件夹下,打开页面时这个文件有下载,下载的文件与我写的是一致的,但是就是没执行里面的代码

TOP

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="JavaScript" type="text/javascript" src="date.js">
<script language="JavaScript" type="text/javascript">
   for(var i=0;i<3;i++){
      var str ="lxm3";
      str = str+i;
      //alert(str);
 }
</script>
</HEAD>

<BODY>
<input onfocus="setday(this)">
</BODY>
</HTML>
我用HTML写了个测试页面,用IE打开是可以的。
怎么放到xhtml页面里面就不行了。很郁闷呀,求高手解答呀

TOP

你在xhtml中是怎么写的

TOP

页面代码如下:
<f:view xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
   xmlns:w="http://www.apusic.com/jsf/widget" xmlns:layout="http://www.apusic.com/jsf/layout"
   xmlns:ajax="http://www.apusic.com/jsf/ajax" xmlns:h="http://java.sun.com/jsf/html"
   xmlnsm="http://www.apusic.com/jsf/misc" renderKitId="AJAX">
   
  <w:head> 
     <w:script type="text/javascript" src="date.js"/>

   <w:stylesheet src="/common/resources/examples.css"/>
      <style>
      #tab {
        border:1px solid #aaa;
        border-collapse:collapse;
        width:80%;
      }
       #tab th{
        border:1px solid #aaaaaa;
        background:#ECE9D8;
        border-collapse:collapse;
        padding:5px;
        text-align:left;
      }
      #tab td{
        border:1px solid #d8d8d8;
        border-collapse:collapse;
        padding:5px;
      }
      .txt{
       border:1px solid #888;
       background:#ECE9D8;
      }
      .checkBg{
        border:1px solid #aaaaaa;
        background:#ECE9D8;
      }
      .checkTxt{
        border:1px solid #aaa;
        background:##d8d8d8;
      }
      .button {
       border:1px solid #888;margin:5px 0px;
       width:80px;background:#ECE9D8;height:22px;line-height:22px;
      }
      </style>
      <om:useBean value="searchBean"></om:useBean>
  </w:head>
  <w:page>
   <w:form>
         <table border="0" width="100%" height="35" cellspacing="0" cellpadding="0">
            <tr>
               <td width="17%">
               <div align="center">
               <strong>请选择表名称:</strong>
               </div>
               </td>
               
               <td width="27%">
               <strong>
               <select name="sTableName" id="sTableName" onchange="tableChange();">
               </select>
               </strong>
               </td>
               
               <td width="60%">
               <strong>
               <fieldset>
               <legend>请选择表属性</legend>
               <table id="tableColumn">
               <tbody></tbody>
               </table>
               </fieldset>
               </strong>
               </td>
               
            </tr>
         </table>

         <fieldset>
         <legend>请选择查询条件</legend>
         <input name="del_btn" id="del_btn" type="button" class="button" onclick="del();" value="del" /> 
         <input name="save" id="save" type="button" class="button" onclick="saveResult();" value="save" />
         <br/>
         
         <table id="tab" >
         <tbody>
            <tr>
            <td width="5%"><input type="checkbox" id="delall" onclick="alldell()"/></td>
            <td width="15%">属性条件</td>
            <td width="15%">操作符</td>
            <td width="10%">输入值</td>
            <td width="15%">比较属性</td>
            <td width="15%">条件关系</td>
            <td width="15%">括号标志</td>
            </tr>
         </tbody>
         </table>
         <p>
         <w:textField jsvar="tableNameString" value="#{searchBean.tableNameString }" ></w:textField>
         
         </p>
         <p>
         <w:textField jsvar="columnString" value="#{searchBean.columnString }" width="800"></w:textField>
         
         </p>
         <p>
         <w:textField jsvar="whereString" value="#{searchBean.whereString }" width="800"></w:textField>
         
         </p>
         <p>
         <w:button id="select" image="../../images/icon_refresh.gif" label="查询明细" />
         <w:button id="total" image="../../images/icon_refresh.gif" label="查询统计" />
         </p>

         </fieldset>
      </w:form>
   <ajax:scripter script="#{searchBean.scripter }"></ajax:scripter>

  </w:page>
  <script> 
  //<![CDATA[
     var tempValue="";
     var tempText="";
     var stringTemp="";
     var tempType="";
     var arrayColumnTypes;
  
     function $(id) {return document.getElementById(id);}
   function $F(name){return document.getElementsByTagName(name);}
  
      //设置表名称
      function setTableName()
      {
         var sTable = document.getElementById("sTableName");
         for(var t = 0; t<arrayTable.length; t++)
         {
            var oItem = new Option(arrayTable[t][1],arrayTable[t][0]);
            sTable.options.add(oItem);
         }
      }
      
      //选择表改变属性列表
      function tableChange(){
         var sTable = document.getElementById("tab");
    
         var t_body = sTable.childNodes[0];   
         //alert(t_body.childNodes.length);      
         if(t_body.childNodes.length>1){
            for(var s=t_body.childNodes.length-1;s>0;s--){
               t_body.removeChild(t_body.childNodes[s]);
            }
            
         }
         tableNameString.setValue("");
      whereString.setValue("");
      columnString.setValue("");
      stringTemp="";
         setTableColumn();

      }
      
      //设置表属性
      function setTableColumn()
      {
         var ttSelect1 = $('sTableName');
         var tableStr = ttSelect1.options[ttSelect1.selectedIndex].value;
         for(var q=0;q<arrayTableColumn.length;q++){
            if(arrayTableColumn[q][0] == tableStr){
               //alert(arrayTableColumn[q][1]);
               arrayColumn = arrayTableColumn[q][1];
            }
         }
         for(var k=0;k<arrayTableColumnType.length;k++){
            if(arrayTableColumnType[k][0] == tableStr){
               //alert(arrayTableColumn[k][1]);
               arrayColumnTypes = arrayTableColumnType[k][1];
            }
         }
         
         var tbl_1 = $('tableColumn');
         var tbody_1 = document.createElement("TBODY");                  
         tbl_1.removeChild(tbl_1.childNodes[0]);
         tbl_1.appendChild(tbody_1);
      for(var j = 0; j<arrayColumn.length/4;j++)
      {
        var otr = document.createElement("TR");       
         for(var i=0; i<4 &&(j*4+i)<arrayColumn.length; i++)
         {
            var checkTd=document.createElement("td");
            var k = (j*4+i);
            //alert(arrayColumn[k]);
            checkTd.innerHTML = '<input type="checkbox" class="check" onclick="checkboxClick(\''+arrayColumn[k][0]+'\');" id="checkItemBox_'+arrayColumn[k]+(k+1)+'" name="'+arrayColumn[k][1]+'"/><a href="#" onclick="checkClick(\''+arrayColumn[k][0]+'\',\''+arrayColumn[k][1]+'\');" >'+arrayColumn[k][1]+'</a>';
            otr.appendChild(checkTd);
         }
         tbody_1.appendChild(otr);
      }      
      
      }
      
      setTableName();//初始化表名称
     setTableColumn();//初始化表属性

  //勾选复选框传值
    function checkboxClick(str)
    {
      var tempCheckbox1;   
      var event = window.event || arguments.callee.caller.arguments[0];
      //for(var i=0;i<arrayColumn.length;i++)
      //{
         tempCheckbox1 = Object(obj = event.srcElement ? event.srcElement : event.target);
         if(tempCheckbox1.checked)
         {
            stringTemp = str+","+stringTemp;
            //tempCheckbox1.checked=false;
         }   
      //}      
    }
   
    //点链接添加行操作
    function checkClick(str1,str2)
    {   
       //alert(str1);
       //alert(str2);
      tempValue = str1;
      tempText = str2;
      
      for(var i=0;i<arrayColumnTypes.length;i++){
         if(arrayColumnTypes[0]==str1){
            //alert(arrayColumnTypes[1]);
            tempType = arrayColumnTypes[1];
         }
      }

      add();
    }

   //执行添加行操作
  function add()
  {
   var otr = document.getElementById("tab").insertRow(-1);
   
   var checkTd=document.createElement("td");
   checkTd.innerHTML = '<input type="checkbox" class="check" onclick="ccolor()" name="checkItem"/>';

      var otd1 = document.createElement("td");
      
      var oSelect1 = document.createElement("select");
      oSelect1.name = 'infoSelect1_txt';
      oSelect1.id = 'infoSelect1_txt'+($('tab').rows.length-1)+'' ;
      
      var oOpt11 = document.createElement("OPTION");
      oOpt11.value = tempValue;
     oOpt11.text = tempText;

      oSelect1.options[oSelect1.options.length] = oOpt11;
      otd1.appendChild(oSelect1);

      var otd2 = document.createElement("td");
      
      var oSelect2 = document.createElement("select");
      oSelect2.name = 'infoSelect2_txt';
      oSelect2.id = 'infoSelect2_txt'+($('tab').rows.length-1)+'' ;
      
      var oOpt21 = document.createElement("OPTION");
      oOpt21.value = '1';
     oOpt21.text = '大于';
      var oOpt22 = document.createElement("OPTION");
      oOpt22.value = '2';
     oOpt22.text = '大于等于';
      var oOpt23 = document.createElement("OPTION");
      oOpt23.value = '3';
     oOpt23.text = '小于';
      var oOpt24 = document.createElement("OPTION");
      oOpt24.value = '4';
     oOpt24.text = '小于等于';
      var oOpt25 = document.createElement("OPTION");
      oOpt25.value = '5';
     oOpt25.text = '等于';
     var oOpt26 = document.createElement("OPTION");
      oOpt26.value = '6';
     oOpt26.text = '包含';
     var oOpt27 = document.createElement("OPTION");
      oOpt27.value = '7';
     oOpt27.text = '前包含';
     var oOpt28 = document.createElement("OPTION");
      oOpt28.value = '8';
     oOpt28.text = '后包含';
     var oOpt29 = document.createElement("OPTION");
      oOpt29.value = '9';
     oOpt29.text = 'IN';

      oSelect2.options[oSelect2.options.length] = oOpt21;
      oSelect2.options[oSelect2.options.length] = oOpt22;
      oSelect2.options[oSelect2.options.length] = oOpt23;
      oSelect2.options[oSelect2.options.length] = oOpt24;
      oSelect2.options[oSelect2.options.length] = oOpt25;
      oSelect2.options[oSelect2.options.length] = oOpt26;
      oSelect2.options[oSelect2.options.length] = oOpt27;
      oSelect2.options[oSelect2.options.length] = oOpt28;
      oSelect2.options[oSelect2.options.length] = oOpt29;
      otd2.appendChild(oSelect2);
            
     alert(tempType);
   var otd3 = document.createElement("td");
   if(tempType=="1"){
         otd3.innerHTML = '<input type="text" class="txt" name="infoName_txt" id="infoName_txt'+($('tab').rows.length-1)+'" maxlength="30" value=""/>';
   }
   if(tempType=="2"){
      
   }
   if(tempType=="3"){
      otd3.innerHTML = '<input type="text" class="txt" onfocus="setday(this);" name="infoName_txt" id="infoName_txt'+($('tab').rows.length-1)+'" maxlength="30" value=""/>';
   }
   if(tempType=="4"){
      
   }
   
   
   var otd4 = document.createElement("td");
   
      var oSelect3 = document.createElement("select");
      oSelect3.name = 'infoSelect3_txt';
      oSelect3.id = 'infoSelect3_txt'+($('tab').rows.length-1)+'' ;
      var oOpt311 = document.createElement("OPTION");
      oOpt311.value = '';
     oOpt311.text = '未选择';
     oSelect3.options[oSelect3.options.length] = oOpt311;
      for(var z=0;z<arrayColumn.length;z++){
         var oOptt = "oOpt3";
         oOptt=oOptt+z;
         //alert(oOptt);
         //alert(arrayColumn.length);
         oOptt = document.createElement("OPTION");
         oOptt.value = arrayColumn[z][0];
        oOptt.text = arrayColumn[z][1];
         oSelect3.options[oSelect3.options.length] = oOptt;
      }
      otd4.appendChild(oSelect3);
   
   var otd5 = document.createElement("td");
   
      var oSelect4 = document.createElement("select");
      oSelect4.name = 'infoSelect4_txt';
      oSelect4.id = 'infoSelect4_txt'+($('tab').rows.length-1)+'' ;
      
      var oOpt41 = document.createElement("OPTION");
      oOpt41.value = '';
     oOpt41.text = '未选择';
      var oOpt42 = document.createElement("OPTION");
      oOpt42.value = '0';
     oOpt42.text = '并且';
      var oOpt43 = document.createElement("OPTION");
      oOpt43.value = '1';
     oOpt43.text = '或者';
     oSelect4.options[oSelect4.options.length] = oOpt41;
      oSelect4.options[oSelect4.options.length] = oOpt42;
      oSelect4.options[oSelect4.options.length] = oOpt43;
      otd5.appendChild(oSelect4);
   
     var otd6 = document.createElement("td");
      
      var oSelect5 = document.createElement("select");
      oSelect5.name = 'infoSelect5_txt';
      oSelect5.id = 'infoSelect5_txt'+($('tab').rows.length-1)+'' ;
      
      var oOpt51 = document.createElement("OPTION");
      oOpt51.value = '';
     oOpt51.text = '未选择';
      var oOpt52 = document.createElement("OPTION");
      oOpt52.value = '0';
     oOpt52.text = '括号开始';
      var oOpt53 = document.createElement("OPTION");
      oOpt53.value = '1';
     oOpt53.text = '括号结束';

      oSelect5.options[oSelect5.options.length] = oOpt51;
      oSelect5.options[oSelect5.options.length] = oOpt52;
      oSelect5.options[oSelect5.options.length] = oOpt53;
      otd6.appendChild(oSelect5);

     otr.appendChild(checkTd);
     otr.appendChild(otd1);
     otr.appendChild(otd2);
      otr.appendChild(otd3);
     otr.appendChild(otd4);
      otr.appendChild(otd5);
      otr.appendChild(otd6);
  }
  
  function ccolor()
  {
    var c1 = document.getElementsByName('checkItem');
    for(var i=0; i<c1.length; i++)
    if(c1.checked)
    {
      c1.parentNode.parentNode.className="checkBg";
      c1.parentNode.nextSibling.firstChild.className="checkTxt";
      c1.parentNode.nextSibling.nextSibling.firstChild.className="checkTxt";
    }
    else{ 
            c1.parentNode.parentNode.className="";
       c1.parentNode.nextSibling.firstChild.className="";
      c1.parentNode.nextSibling.nextSibling.firstChild.className="";
         }
  }
  
  //执行删除行操作
  function del()
  {
   var c = document.getElementsByName('checkItem');

   var idArray = new Array();
   for(var i=0; i<c.length; i++)
   if(c.checked)
   idArray.push(i);
   if(idArray.length==0){
         alert("请选择记录后再执行删除操作");
         return;
      }
   var rowIndex;
   var nextDiff =0;
   for(j=0;j<idArray.length;j++)
   {
    rowIndex = idArray[j]+1-nextDiff++;
    //alert(rowIndex);
    document.getElementById("tab").deleteRow(rowIndex);
   }
      saveResult();
  }
  
  //执行保存行数据操作
  function saveResult()
  {
      var ttSelect1 = $('sTableName');
       var tableStr = ttSelect1.options[ttSelect1.selectedIndex].value;
       
    //var columnString = $("columnString");
    //var whereString = $("whereString");
    
    var checkboxs = document.getElementsByName("checkItem");
    var ttab = document.getElementsByName("infoName_txt");
        var m=0,n=0;
    var idArray = new Array();
    for(i=0;i<checkboxs.length;i++)
    {
          var ttSelect1 = $('infoSelect1_txt'+(i+1));
          var ttSelect2 = $('infoSelect2_txt'+(i+1));
          var ttSelect3 = $('infoSelect3_txt'+(i+1));
          var ttSelect4 = $('infoSelect4_txt'+(i+1));
          var ttSelect5 = $('infoSelect5_txt'+(i+1));
          var tt = ttSelect5.options[ttSelect5.selectedIndex].value;
          if(tt=="0"){
             m++;
          }
          if(tt=="1"){
             n++;
          }
        idArray.push(ttSelect1.options[ttSelect1.selectedIndex].value + "," + ttSelect2.options[ttSelect2.selectedIndex].value + "," + ttSelect3.options[ttSelect3.selectedIndex].value+ "," + ttab.value + "," + ttSelect4.options[ttSelect4.selectedIndex].value+ "," + ttSelect5.options[ttSelect5.selectedIndex].value); 
    }

    if(((m==0)&&(n==0))||(m==n)){
          //alert(stringTemp);
          //alert(idArray.join(";"));
        tableNameString.setValue(tableStr);
       whereString.setValue(idArray.join(";"));
       columnString.setValue(stringTemp);
       //alert(columnString.value);
    }else{
     alert("要么没有括号,要么括号开始和括号结束要配对才行");
     return ;
    }

  } 

  function alldell()
  {
   var des =document.getElementsByName('checkItem');
   for(var i=0;i<des.length;i++)
   {
    if(des.checked=document.getElementById('delall').checked){
       des.parentNode.parentNode.className="checkBg";
           des.parentNode.nextSibling.firstChild.className="checkTxt";
       des.parentNode.nextSibling.nextSibling.firstChild.className="checkTxt";
    }
    else{
       des.parentNode.parentNode.className="";
      des.parentNode.nextSibling.firstChild.className="";
      des.parentNode.nextSibling.nextSibling.firstChild.className="";
    }
   }
  }
  
  //打开一个弹出页面
  function openwin(url)
  {
       window.open (url, "newwindow", "height=500, width=600, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" )
    }
   
  //]]>
   </script>
</f:view>

其中<w:script type="text/javascript" src="date.js"/>这是我要引入js的代码
我后面又测了下,我修改date.js后,再下载,好像下载的文件还是以前的,不是我修改后的版本。

[ 本帖最后由 liuxinmiao2009 于 2010-3-10 13:00 编辑 ]

TOP

将 <w:script type="text/javascript" src="date.js"/>
改成
<script language="JavaScript" type="text/javascript" src="date.js">
试一下。

下载后得到修改以前的版本可以是缓存问题,清除一下缓存再试。

TOP

1、将 <w:script type="text/javascript" src="date.js"/>
改成
<script language="JavaScript" type="text/javascript" src="date.js">
试一下。

这个我原来就是这么写的,不行。

2、下载后得到修改以前的版本可以是缓存问题,清除一下缓存再试。
这个怎么搞?

TOP

如何删除IE缓存?
  1、点击打开一个IE。
  2、点击菜单栏中的“工具”菜单中的“internet选项”
  3、在弹出的对话框中点击“删除文件”.
  4、在弹出的对话框中”删除所有脱机内容”打勾,之后点确定.
  5、点击确定后,鼠标可能会变成比较忙的状态,这是因为缓存较多的缘故,一般情况下十秒左右鼠标就会恢复正常。之后再点击右下角的“确定”退出。这样电脑IE的缓存就清除完毕了。

TOP

你上面说的方法,我用过了,好像还是有缓存问题。
问题貌似解决了,我是这么解决的:
文件编码,他原来是默认ISO-8859-1.里面不允许有中文,我后面改成UTF-8,在AOM中就可以执行里面的代码了。
但是把这个文件放到HTML里面有不行了。原来ISO-8859-1编码在HTML里面是可以的,在AOM中不行。

TOP