DotNetNuke - jQuery - Почему этот плагин jQuery Watermark не работает? - PullRequest
3 голосов
/ 17 сентября 2010

Я использую DNN 5.4 со ссылкой на jQuery для API Google по умолчанию:

alt text

Я подтвердил, что загружается jquery.min.js.Я не знаю, нужно ли загружать другой jQuery (кроме плагина).

Я использую плагин водяного знака jQuery для текстового поля Google Code ( Ссылка )

Панель инструментов веб-разработчика и 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 на $

Это похоже на какой-то конфликт, но я заблудился, что делать дальше.

Заранее спасибо за ваше время

1 Ответ

3 голосов
/ 17 сентября 2010

Я заметил, что это потому, что:


<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-разработок, и ссылка, на которую вы ссылаетесь, станет <a href="http://www.mydomain.com/tabId/80/js/watermark/jquery.watermark.min.js" rel="nofollow noreferrer">http://www.mydomain.com/tabId/80/js/watermark/jquery.watermark.min.js</a> , когда <a href="http://www.mydomain.com/tabId/80/Default.aspx" rel="nofollow noreferrer">http://www.mydomain.com/tabId/80/Default.aspx</a> будет обслуживаться

...