日期:2014-05-17  浏览次数:20597 次

把jsp里的javascript放到js里,也引用了,可就是不执行这个js?
在jsp里我这样引用page.js:
<script type="text/javascript" src="js/page.js"></script>


page.js里的内容如下所示:

if(tmp_yn=='yes')
{
$("#txt_develop_Reason").attr("disabled","true");
$("#duty_develop_Dept").attr("disabled","true");
$("#txt_develop_manager").attr("disabled","true");
$("#btn_develop_add").removeAttr("disabled");
$("#btn_develop_del").removeAttr("disabled");
}

$("#btn_develop_add").click(function () {
var newTextBoxDiv = $(document.createElement('div')).attr("class", 'develop_dutyman_div');

newTextBoxDiv.after().html('<label>名字 </label>' +
      '<input class="develop_dutymen" type="text" name="txt_develop_who" id="txt_develop_who" value="" >' + 

      '<label>事件 </label>' +
  '<textarea style="vertical-align:middle;overflow:auto;" cols="25" rows="2" class="develop_reason" name="txt_develop_why" id="txt_develop_why"></textarea>' + 
      
      '<label>描述</label>' +
      '<textarea style="vertical-align:middle;overflow:auto;" cols="25" rows="2" class="develop_method" name="txt_develop_how" id="txt_develop_how"></textarea>' + 
      
  '<input class="develop_flag" type="checkbox">标示'                 
);
newTextBoxDiv.appendTo("#Duty_Develop_Group");
    });

------最佳解决方案--------------------
引用:
把js里的代码放到$(document).ready(function(){}里就行了,这是为什么呢?


因为html是顺序加载的。。下面的<body>还没加载,你能找到$("#txt_develop_Reason")这些吗?
所以要放到$(document).ready(function(){},等整个页面加载完,才执行js代码
------其他解决方案--------------------
路径对了吗?

建议写成全部径吧
<script type="text/javascript"
src="<%=request.getContextPath()%>/js/page.js"></script>
------其他解决方案--------------------
路径没问题,从IE的开发人员工具里看,这个js已经加载进来了。
------其他解决方案--------------------
里面一堆Jquery,看看Jquery的js引没引。
------其他解决方案--------------------
是不是没有引用jquery啊
------其他解决方案--------------------
把js里的代码放到$(document).ready(function(){}里就行了,这是为什么呢?
------其他解决方案--------------------
引用:
里面一堆Jquery,看看Jquery的js引没引。

没引是会报错的,要执行js代码要把代码放在

$(function(){
......
});

------其他解决方案--------------------
引用:
引用:把js里的代码放到$(document).ready(function(){}里就行了,这是为什么呢?

因为html是顺序加载的。。下面的<body>还没加载,你能找到$("#txt_develop_Reason")这些吗?
所以要放到$(document).ready(function(){},等整个页面加载完,才执行j……

++
------其他解决方案--------------------
引用: