Реализация функции JQuery base64 - PullRequest
5 голосов
/ 21 августа 2010

Я не могу понять, почему не работает плагин jquery (декодирование base64) внутри функции события.

Так работает:

  $(document).ready(function(){  
    data = $.base64Encode('something');  
    alert(data);  
  });

Но при попытке добавить функцию события я получаю $. Base64Encode не является функцией error

  $(document).ready(function(){  
    $('#submit').click(function(e){
      data = $.base64Encode('something');  
      alert(data); 
      e.preventDefault();
     }); 
  });

Плагин Jquery находится по адресу: http://plugins.jquery.com/project/base64

Ответы [ 4 ]

4 голосов
/ 22 августа 2010

Убедитесь, что вы не включаете jQuery дважды на странице.Это происходит при первой загрузке, плагин определяет себя на этом jQuery объекте, и когда jQuery включается во второй раз, объект window.jQuery переопределяется ... и плагин выиграл 'это не так:)

Вы увидите это, когда запустите его позже, тогда как ваш document.ready может находиться перед вторым включением jQuery.

1 голос
/ 21 августа 2010

Ник Крейвер имеет право! Я использую Zfdebug для Zend Framework, и это уже включает в себя JQUERY, и я включил дважды из-за ZF aut включить JQUERY. Спасибо

Я задал новый вопрос, связанный с тем, как я могу включить только один раз Jquery в специфическую среду Zfdebug ZFdebug Jquery помехи

0 голосов
/ 21 августа 2010

в шапке у меня есть

<html>
<head>
<title>{TITLE}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="css/main.css" type="text/css" media="screen" />
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js'></script>
<script type='text/javascript' src="js/Jquery/jquery.base64.js"></script>
<script type="text/javascript">
$(document).ready(function(){

    $('#submit').click(function(e){
        e.preventDefault();
        data = $.base64Encode('something');
    alert(data);
    });
});

</script>
</head>

и форма с кнопкой отправки

<input id="submit" type="submit" name="Submit" value="Submit" class="button">

но, как я уже говорил, если я поставлю вне функции щелчка значение data = $.base64Encode('something');, тогда оно будет работать.

Более сложная вещь, которую я использую Zend Framework и FastTemplate

0 голосов
/ 21 августа 2010

Это работает для меня.У вас может быть не связанная ошибка Javascript, из-за которой библиотека base64 загружается неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...