Включение и выключение элементов формы с помощью JavaScript

Автор: admin  /  Рубрика: JavaScript

У всех элементов формы есть атрибут “disable”  который служит для отключения данного элемента, например:

<input type=”text” value=”5″ name=”go” DISABLED >

в браузере мы не сможем поменять данный элемент, а точнее его значение 5 на какое либо другое.

управление с помощью яваскрипта происходит следующим образом:

document.formname.elementname.disabled

в нашем случае

document.formname.go.disabled

ниже приведу пример функции которая будет активировать и деактивировать элементы форм

<script type=”text/javascript”>
function disable_enable(){
if (document.all || document.getElementById){
if (document.test1.test2.disabled==true)
document.test1.test2.disabled=false
else
document.test1.test2.disabled=true
}
}
</script>

Универсальный генератор sitemap.xml

Автор: admin  /  Рубрика: Новости сайта

писал тут на днях универсальный генератор карты сайта – SITEMAP.XML, а точнее набросал по быстрому ;) времени как всегда мало =) но зато можно прикрутить к абсолютно любой cms.
Конечно скрипт можно доделать и довести до ума, поэтому жду ваших комментариев.

Ниже код:

$map = ‘
xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd”>
‘;
$map .= myMap(‘index.html’);
$map .= myMap(‘job.html’);
$map .= myMap(‘resume.html’);
$map .= myMap(‘news.html’);
$map .= myMap(‘crewing.html’);
$map .= myMap(‘login.html’);
$map .= myMap(‘reg.html’);

include(“_top.php”);

$SQL = “SELECT `id` FROM `job` ORDER BY `id` DESC”;
$result = mysql_query ($SQL);
WHILE ($row = mysql_fetch_array ($result) )
{
$map .= myMap(‘job_id_’.$row['id'].’.html’);
}

$SQL = “SELECT `id` FROM `resume` ORDER BY `id` DESC”;
$result = mysql_query ($SQL);
WHILE ($row = mysql_fetch_array ($result) )
{
$map .= myMap(‘resume_id_’.$row['id'].’.html’);
}
$SQL = “SELECT `id` FROM `crewing` ORDER BY `id` DESC”;
$result = mysql_query ($SQL);
WHILE ($row = mysql_fetch_array ($result) )
{
$map .= myMap(‘crewing_id_’.$row['id'].’.html’);
}
$SQL = “SELECT `id` FROM `news` ORDER BY `id` DESC”;
$result = mysql_query ($SQL);
WHILE ($row = mysql_fetch_array ($result) )
{
$map .= myMap(‘news_id_’.$row['id'].’.html’);
}

$map .= ”;

$fh = fopen(‘./sitemap.xml’,'wb’);
fwrite($fh, $map );

function myMap($URL)
{
return ‘
‘.$URL.’
‘.date(‘Y-m-dTH:i:s+2:00′).’

0.8 daily
‘;
}
?>

яндекс и гугл карту успешно схавали

скачать sitemap генератор карты сайта

Joomla и VirtueMart – белый экран

Автор: admin  /  Рубрика: Новости сайта

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

Для начала понял что у хостера отключен показ ошибок по умолчанию.

Самый простой способ включить показ ошибок: дописать в файл htaccess

php_flag display_errors on
php_value error_reporting 2047

После этого появится сообщение об ошибке, по которому будет решена проблема белого экрана.

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

AJAX – быстрый старт для новичков!

Автор: admin  /  Рубрика: cms, PHP

Попробую быстро и наглядно показать как и где использовать технологию AJAX.

Для начала коротко расскажу про аякс: это полусерверный, полуклиентский язык, а точнее асинхронный. Часть его выполняется на клиенте, часть на сервере, в итоге без перезагрузки страницы мы можем обновлять информацию на сайте, например подгружая ее из базы данных mySQL, причем даже с другого сервера!

Как это работает спросите?

Чтобы получить данные на сервере, XMLHttpRequest предоставляет два метода:

  • open – создает соединение
  • send – отправляет запрос на сервер

Данные возвращенные сервером извлекаем из атрибутов объекта XMLHttpRequest:

  • ResponseXml для файлов XML
  • ResponseText для обычного текста.

Важно: объект XMLHttpRequest долен быть создан для каждого нового файла для загрузки!!

Чтобы узнать о процессе извлечения и загрузки данных с сервера существует атрибут readyState объекта XMLHttpRequest, который возвращает следущие параметры от 0 до 4, причем нам важен только последний:

 0: не инициализирован.
 1: связь.
 2: запрос получен.
 3: ответ в процессе.
 4: закончено.

Рассмотрим подробнее атрибуты Объекта XMLHttpRequest:

readyState Код последовательно изменяет свое значение от 0 до 4, где 4 означает “готов”.
status 200 нормально,   404 – страница не найдена.
responseText содержит загруженные данные в виде строки символов.
responseXml содержит загруженные данные в виде файла XML
onreadystatechange обычно принимает в качестве значения функцию, когда readystatechange событие будет запущено.

ну и собственно методы:

open (mode, url, boolean)  mode: тип запроса, GET или POST
url:  расположение файла, вместе с путем.
boolean: true (асинхронный) / false (синхронный).
опционально:    Логин и пароль могут быть добавлены к аргументам.
send (“string”)  null  для метода GET.

Ну а теперь приведем пример:    (ну наконецто :) ))

 if (window.XMLHttpRequest) // Объект текущего окна
{
   xhr = new XMLHttpRequest(); // Firefox, Safari, ...
}
elseif (window.ActiveXObject)  // ActiveX версия
 {
   xhr = new ActiveXObject("Microsoft.XMLHTTP");  Internet Explorer
 }

инициировали, теперь ждем ответа

if (xhr.readyState == 4)
{
   // Received, OK
} else
{
  // Wait...
}

ну а дальше отправляем запрос:

xhr.open('GET', 'http://www.symple.ru/sitemap.xml', true);
xhr.send(null);

Все пример сразу и с HTML кодом:

<html>
<head>
<script>
function submitForm()
{
    var xhr;
    try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
    catch (e)
    {
        try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
        catch (e2)
        {
          try {  xhr = new XMLHttpRequest();     }
          catch (e3) {  xhr = false;   }
        }
     }

    xhr.onreadystatechange  = function()
    {
         if(xhr.readyState  == 4)
         {
              if(xhr.status  == 200)
                  document.ajax.dyn="Received:"  + xhr.responseText;
              else
                 document.ajax.dyn="Error code " + xhr.status;
         }
    }; 

   xhr.open(GET, "data.txt",  true);
   xhr.send(null);
}
</script>
</head>

<body>
    <FORM method="POST" name="ajax" action="">
         <INPUT type="BUTTON" value="отправить"  ONCLICK="submitForm()">
         <INPUT type="text" name="dyn"  value="">
    </FORM>
 </body>
 </html>

скачать ПРИМЕР можно здесь:  demo-symple.ru-ajax-post

жду комментариев!