JavaScripts

Защищённая авторизация: Javascript+PHP+MD5

Если возникает проблема отправки данных на сервер защищённым способом (особенно это касается логина и пароля пользователя), а использовать SSL нет возможности, то можно воспользоваться вот таким решением.Качаем отсюда файл md5.js (реализация алгоритма шифрования md5 на JavaScript).Создаём страницу с формой авторизации

<?php $_SESSION['key'] = mt_rand();?><br><scripttype="text/javascript"src="js/md5.js"></script><br><scripttype="text/javascript"src="js/secure.js"></script><br><formaction="login.php"method="post"onsubmit="return crypt_form(this, 'key', 'hash')"><br> Login:<br><inputtype="text"name="login"/><br>    Password:<br><inputtype="password name="pass" /><br><input type="submit ...

Читать далее

Транслит средствами JS. Пример из жизни

Решение, позволяющее тем, кто в силу тех или иных причин вынужден писать транслитом, быстро перевести написанное в нормальный русский текст.

Для начала - скрипт, выполняющий преобразование.



Код не мой, взят отсюда, я только чуть переделал его с учётом поставленной задачи (написать что-то своё на то время просто не было возможности). Вся суть заключается в использовании ассоциативных массивов(хэшей) в качестве "словарей" - каждой английской букве/буквосочетанию ставится в соответствие буква русская. При загрузке скрипта алгоритм транслитерации будет автоматически применён к первому элементу textarea на странице.

Теперь размещаем скрипт где-нибудь на общедоступном сервере, а затем создаём ссылку-букмарклет вот такого содержания:

<a href='javascript ...

Читать далее

Валидатор форм на стороне клиента

Этот скрипт позволяет быстро организовать проверку форм на сайте. Написал для себя в ходе одного из последних проектов, ибо надоело всё время писать конструкции вида

  1. if(!(document.forms[0].login.value)){
  2.     /*bla-bla-bla*/
  3. elseif(!(document.forms[0].password.value)){
  4.    /*bla-bla-bla*/
  5. }
  6. elseif(!(document.forms[0].email.value)){
  7.     /*bla-bla-bla*/
  8. }

Скрипт выглядит так.

  1. var js={
  2.     assoc:function(data, func){
  3. for(i in data)if(data[ i])func(data[ i], i);return data;
  4.     },
  5.   validate:function(frm, setup){
  6. var errFunc = arguments[2] || function(e){for(i in e)alert(i+':'+e[ i])}, errs = {}, cnt = 0, stop = arguments[3], deferr = arguments[4], ip = function(c ...

Читать далее

Пример работы с AJAX. Набор функций.

Простой набор функций для построения клиентской части AJAX-приложения.

var ajax = {
   /* Отправляет запрос к серверу. Базовая функция, все остальные являются обёртками для неё */
   query:function(url, ok){
      var req = (function(){
         /* Создаём AJAX-объект */
         try{return new XMLHttpRequest()}
         catch(e)
         {
            try{return new ActiveXObject('Microsoft.XMLHTTP')}
            catch(e){throw new Error('Your browser does not support AJAX')}
         }
      })(), a = arguments, c_err = a[2] || function(){}, data = a[3], mtd = a[4]||(data?'POST':'GET');
      with(req){
         /* Вешаем обработчик */
         onreadystatechange =function(){
            if(readyState == 4 && ok)(/200|304/.test(status)?ok:c_err)(req);
         };
         open(mtd, url, true);
         /* Выставляем нужные заголовки и отправляем запрос */
         if(mtd=='POST')setRequestHeader ...

Читать далее

Конвертирование текста в поле ввода из русского в английский. Вставка BB-кодов в текстовое поле.

Конвертирование текста в поле ввода из русской раскладки в английскую и обратно.

<script type="text/javascript">
function convertLayout(e, elem)
{
   e = e || window.event;
   var eng='qwertyuiop[]asdfghjkl;\'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?@#$^&|';
   var rus='йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,"№;:?/';
   var src=elem.value;
   if((e.ctrlKey) && ((e.keyCode == 0xA) || (e.keyCode == 0xD)))
   {
           for(i=0;i<src.length;i++){
         for(j=0;j<eng.length;j++)
         {
            if(src.substr(i,1)==eng.substr(j,1))
               src=src.replace(src.substr(i,1),rus.substr(j,1));
            else if(src.substr(i,1)==(rus.substr(j,1)))
               src=src.replace(src.substr(i,1 ...

Читать далее

AJAX и Django + jQuery

Приведу Вам сегодня несколько примеров о том, как осуществлять функциональность AJAX в django приложении, используя библиотека jQuery JavaScript. Скажу сразу, что эта статья относится к версии Django 1.1 или новее и направлена на новичков Django, подобно мне :).

В отличие от некоторых других сетевых приложений, Django, слава Богу  не привязан к какой-либо библиотеке JavaScript, и Вы можете использовать любую на свое усмотрение. Однако, В этой статье я буду использовать jQuery ради простоты.



Базовый пример Django и ajax


Давайте начнем с очень простого кода в views.py ...

Читать далее