我正在使用DNN 5.4和默认的google api jquery引用:
我已确认jquery.min.js正在加载。我不知道是否还需要加载其他jQuery(插件除外)。
我正在使用Google Code jQuery Textbox水印插件(Link)
Web Dev Toolbar& Firebug建议jQuery和Watermark插件都在加载。这段代码位于我的皮肤顶部附近.ascs:
<script type="text/javascript" src="/js/watermark/jquery.watermark.min.js"></script>
以下代码在基本的html文档中有效(当输入包装在表单标记中时)。但是,当放置在DNN皮肤或DNN模块内时,它无法工作并在此处生成javascript。
<script language="javascript" type="text/javascript">
(function ($) {
$(document).ready(function () {
jQuery("#xsearch").watermark("Leave blank for USA");
})
})(jQuery);
</script>
SearchString: <input type="text" id="xsearch" name="xsearch" />
<input type="button" value="search" id="xsubmit" name="xsubmit" />
错误(FireBug):
jQuery("#xsearch").watermark is not a function
[Break on this error] jQuery("#xsearch").watermark("Leave blank for USA");
此备用代码产生相同的错误:
<script language="javascript" type="text/javascript">
jQuery.noConflict();
jQuery(function () {
jQuery("#xsearch").watermark("Leave blank for USA");
jQuery("#xsubmit").click(
function () {
jQuery("#xsearch")[0].focus();
}
);
});
</script>
最后,当我用$
替换jQuery时会产生同样的错误这感觉就像是某种冲突,但我对下一步该做什么感到迷茫。
提前感谢您的时间
答案 0 :(得分:3)
我注意到这是因为:
<script type="text/javascript" src="/js/watermark/jquery.watermark.min.js">
应该是
<script type="text/javascript" src="js/watermark/jquery.watermark.min.js">
如果你的皮肤根目录中有js文件夹。
您可以看到FireBug的网络选项卡,以确保您的脚本引用正确加载。我正在评判这个因为我做了很多dnn开发,你引用的链接也会变成
提供
http://www.mydomain.com/tabId/80/js/watermark/jquery.watermark.min.js
时http://www.mydomain.com/tabId/80/Default.aspx