我的javascript有代码,对于我网站上的其中一个页面:
$('#nmdt1').datetimepicker({
dateFormat: $.datepicker.ATOM,
minDate: nmsdt,
...
...
Run Code Online (Sandbox Code Playgroud)
这个运行正常,当加载id ="nmdt1"的页面时.并且我只在加载该页面时加载相关的datetimepicker js库(模块).到现在为止还挺好.
但是当我在我的网站上加载任何其他页面时,我得到了这个错误:从定义了dateformat的行号.
编辑:这是firebug日志的正确错误:
TypeError: $.datepicker is undefined
http://myswbsite/jscript/myjsscript.js
Line 569
Run Code Online (Sandbox Code Playgroud)
第569行是:
dateFormat: $.datepicker.ATOM,
Run Code Online (Sandbox Code Playgroud)
是的,这个错误只出现在我没有加载相关的js代码的页面上(jquery-ui-timepicker-addon.js).我没有在每个页面上加载这个js的原因是,我只在一页上需要它.
更多细节:
在lib加载后的HTML标题中(在seq中)
<head>
<script src="/jscript/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="/jscript/myjsscript.js" type="text/javascript"></script>
...
...
<script type="text/javascript">
jQuery(document).ready(function(){
var mid = "[% mid %]";
alert('mid='+mid);
$(".bvmainmenu #"+mid).css({"background":"url(/images/current-bg.gif) top left repeat-x", "color":"#ffffff"});
});
</script>
</head>
Run Code Online (Sandbox Code Playgroud)
每次没有加载jquery-ui-timepicker-addon.js lib时,你在上面看到的最后一个javascript代码(标题的底部)都没有运行(你在firebug中看到错误 - 我可以忍受错误,但为什么会这样最后一个代码没有运行,我不确定).我无法理解为什么这个例程不会因为我没有加载一个'附加'库而运行
运行所有内容的页面正确加载BODY中的js脚本
<script src="/jscript/jquery-ui-1.8.21.custom.min.js" type="text/javascript"></script>
<script src="/jscript/jquery-ui-timepicker-addon.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
在此页面上,您在标题中看到的最后一个JavaScript代码也会加载并显示警报!
我很难想到这一点.
您是否在应用程序中包含了jQuery UI.
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.22/jquery-ui.min.js"></script>
Run Code Online (Sandbox Code Playgroud)