Генератор паролей на JavaScript

Комментарии ()
<script>
    function str_rand() {
        var result = '';
        var words = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
        var max_position = words.length - 1;
        for (i = 0; i < 10; ++i) {
            position = Math.floor(Math.random() * max_position);
            result = result + words.substring(position, position + 1);
        }
        return result;
    }
</script>

 


Читать далее

In_array в JavaScript

Комментарии ()

аналог in_array() в php для JavaScript

function in_array(what, where) {
    for(var i=0, length_array=where.length; i<length_array; i++)
        if(what == where[i])
            return true;
    return false;
}

 


Читать далее

Закритие модального окна twitter bootstrap

Комментарии ()

При нажатии на ESC

Для того, что бы модальное окно (twitter bootstrap) закрылось при нажатии на ESC, необходимо добавить параметр tabindex="-1"

Пример кода

<a href="#my-modal" data-keyboard="true" data-toggle="modal">Open Modal</a>

<div class='modal fade hide' id='my-modal' tabindex='-1'>
    <div class='modal-body'>
    <div>Test</div>
    </div>
</div>

При нажатии на button

Необходимо прописать data-атрибут data-dismiss="modal"

Пример

<a href="#" class="btn " data-dismiss="modal"> Закрыть </a>

 


Читать далее

JavaScript: переадресация на другую страницу

Комментарии ()

Переадресация на другую страницу

location.href = 'http://site.com'

Переадресация на другую страницу через определенное время

<script language="JavaScript" type="text/javascript">

function redirect(){ 
 location="http://site.com"; 
} 
setTimeout( 'redirect()', 5000 ); 

</script>

 


Читать далее

JQuery .each обход елементов формы

Комментарии ()

.each( callback( [index, Element] ) ) – функция, вызываемая для каждого элемента в наборе jQuery. С каждой итерацией в качестве первого параметра index ей передается индекс текущего элемента в наборе Query (начиная с 0) как индекс текущей итерации цикла. Во втором аргументе Element передается ссылка на сам DOM элемент. Контекст this вызова функции также каждый раз ссылается на текущий элемент, задействованный в данной итерации (Element == this).


Читать далее

JQuery: ajax

Комментарии ()

Пример ajax'а на php & Javascript


Читать далее

Form - автодополнение

Комментарии ()

Автодополнение очень полезная и удобная фича. Дабы не плодить каждый раз рутинны по роботе с ней, в модуль Form добавлен функционал, поддерживающий ajax autocomplete на базе jQuery.

Каждое автодополнение характеризируется именем, и заранее описывается в form_get_autocomplete_ajax_post.php. Cам елемент ввода должен принадледать к классу autocomplete и иметь data-атрибут autocomplete-name который содержит имя автодополнения..

html

<input type="text" name="login" id="login" value=""   width="" style="" class="autocomplete" placeholder="введите Логин" data-autocomplete-name="users_login">

Требования к елементу ввода:

  • елемент ввода должен принадлежать к классу autocomplete ( class="... autocomplete ...")
  • Наличие атрибута  data-autocomplete-name c именем автодополнения

Пример использования

#elementInputText
$element = array(
    'attr' => array(
        'name' => null,
        'type' => 'text',
        'alias' => null,
        'value' => false,
        'disabled' => false,
        'placeholder' => null,
        'value' => null,
        'class' => 'autocomplete',
        'data' => array('autocomplete-name'=>'users_login')
    ),
    'group' => array(
        'help' => null,
        'help_type' => 'block',
        'label' => null
    )
);
$tpl->setVariable('elementName', $form->getElement($element));

Алгоритм работы

  • При вводе текста в елементе выполняется функция $(".autocomplete").autocomplete(файл system.js), которая выполняент ajax-запрос form_get_autocomplete_ajax.  Если ajax-запрос прошел успешно - мы видим варианты автодополнения. Передаються на сервер в запросе также все data атрибуты, в которых можно передать дополнительные параметры и использовать их
  • form_get_autocomplete_post.php - в целях безопасности, для каждого autocomplete описывается алгоритм выборки данных.

Читать далее

HTML-атрибуты data и jQuery

Комментарии ()

В HTML 5 введены атрибуты тегов data для хранения параметров и получения их в js.  Раньше использовали классы, ради сохранения информации в HTML, с целью последующего использования в js.


Читать далее

Form - сортировка

Комментарии ()

 

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

Как и фильтр, сортировка  характеризуется названием формы (для каждой формы своя сортировка $_SESSION['form_sort']['{name}']). Данные сортировки хранятся в сессии ($_SESSION['form_sort']['{name}']=array(key=>value), где key - название поля в таблице БД по которому необходимо сортировать,  value - принимает значение up или down, тем самым указывая порядок сортировки.), что дает возможность сохранять работоспособность сортировки, даже при перезагрузке страницы. 


Читать далее

JQuery UI Autocomplete Ajax

Комментарии ()

html

<link rel="stylesheet" type="text/css" href="{www}css/ui-lightness/jquery-ui-1.10.3.custom.min.css" />
<script src="{www}js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="{www}js/jquery-ui-1.10.3.custom.js" charset="utf-8" ></script>

<script>
$(document).ready(function(){
 
    $("#login").autocomplete({
	source: function(request, response) {
                  var id = this.element.attr('id');                
                  $.ajax({
                  url: "{www}",
                  data: { q: $("#login").val(),
		  mod: 'admin',
		  act: 'users_balans',
		  op: 'login_autocomplete'},
                  dataType: "json",
                  type: "POST",
                  success: function(data){
                      response(data);
                  }
                });
              },
      minLength: 1
    });
});
</script>

php

<?php

/* @var $sql Sql */
/* @var $error Error */
/* @var $user User */
/* @var $domain Domain */

#Заборона прямого дуступу
defined('ACCESS') or die('Restricted access');

$user->isPermitAuth();
$user->isPermitUserStatus('admin');

$return_arr=array();

$q = $_POST["q"];
if (!$q) return;

$query="select `login` from `users` where visible=1 order by `login`";
$res=$db->query($query);
$cnt=$res->numrows();
while ($row=$res->fetchrow())
{
	
        $login=$row['login'];
	$login2 = mb_convert_case($login, MB_CASE_LOWER, "UTF-8");
	$a=(strpos($login2,$q));
	if (($a===0)) {
		$return_arr[]=$login2;		
	}
}
echo json_encode($return_arr);
exit;


?>

 


Читать далее

Webit.in.ua 2013