Javascript.RU

Отправка формы с файлами через AJAX

На основе статьи http://javascript.ru/node/7686

function sendform(form, url, fn){
  if(typeof 'form' != 'object') var form = document.forms[form];
  //var url = window.location;

  var xhr = getHttpRequest();
  xhr.onreadystatechange = function () {
      if (this.readyState == 4) {
        if(this.status == 200) {
          /* ... все ок! смотрим в this.responseText ... */
          var json = text2obj(xhr.responseText);
          if(fn) fn(json);
        } else {
          /* ... ошибка! ... */
        }
      }
    };
...
читать дальше »
-1

Динамическая сортировка таблицы
var directions = [];
var currentcol = [];

function sorttable(tableId, col)
{
	var data = [];
	var table = document.getElementById(tableId);
	var rows = table.getElementsByTagName('tr');

	if(directions[tableId]==undefined) directions[tableId] = new Array();
	if(directions[tableId][col]==undefined) directions[tableId][col] = false;
	else directions[tableId][col] = !directions[tableId][col];

	if(currentcol[tableId] != col)
	{
		currentcol[tableId] = col;
		directions[tableId][col] = false;
	}

	for(var i = 0; i < rows.length; i++)
	{
...
читать дальше »
+1

Множественные события
function get(elem){
  if(typeof(elem) == 'object') return elem;
  return document.getElementById(elem);
}

function eventhandler(e){
  e = e || window.event;
  if(!this.handlers) return;
  if(!this.handlers["on" + e.type]) return;
  for(var i = 0; i < this.handlers["on" + e.type].length; i++){
    if(this.handlers["on" + e.type][i]) this.handlers["on" + e.type][i](e);
  }
}

function addevent(elem,name,handler){
  if(typeof(elem) != "object") elem = get(elem);
  //Если доступна функция addEventListener - то очень хорошо
...
читать дальше »
0

Отметка всех чекбоксов в таблице

Подобная задача иногда возникает, когда нужно в админке выбрать несколько элементов для удаления или редактирования и имена флажков имеют вид delete[10]:

<input type="checkbox" name="delete[{id}]" value="{id}" />

.

function CheckAll(cb, group)
{
	var table = cb;
	while(table.tagName.toLowerCase()!='table')
	{
		table = table.parentNode;
	}

	var cbs = table.getElementsByTagName('input');

	for(var i = 0; i < cbs.length;i++)
	{
...
читать дальше »
-1

Простой валидатор форм

Часто приходится проверять заполнение форм перед их отправкой.
Чтобы автоматизировать работу, написал небольшой объектно-ориентированный валидатор.

// Для облегчения рутинных операций по манипуляциям с содержимым, атрибутами и т.д. 
function elem(elemid){
	var el = {
		attr: function(name,value){
			var oldval = this.obj.getAttribute(name);
...
читать дальше »
+5

 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Популярные таги
Последние комментарии
Последние темы на форуме
Forum