ScriptJava это JavaScript Framework, который создан для облегчения разработки динамических веб-приложений.
[B]ScriptJava Framework[/B]
* работа с элементами * работа с ajax * динамическая подгрузка скриптов * динамическое создание элементов * динамическая подгрузка css стилей * отправка файлов через ajax * отправка формы через ajax * работа с cookie * работа с событиями * работа с браузером, экраном, числами, элементами
[COLOR=Red][B]Краткое описание функций[/B][/COLOR]
[CODE] $$() - получение доступа к элементам $$a() - работа с ajax $$c() - работа с cookie $$e() - работа с событиями $$f() - отправка форм через ajax $$i() - динамическое подключение скриптов стилей и создание элементов $$r() - работа с событием window.onload $$s() - набор полезных функций по работе с экраном, мышью, браузером, элементами, числами и т.д. [/CODE]
[B]Примеры на scriptjava:[/B]
[COLOR=Red][B]Отправка файла через AJAX[/B][/COLOR]
Вначале нужно подключить сам scriptjava фреймворк
[CODE]
[/CODE]
Для отправки файлов серверу есть такая форма
[CODE]
Тут будет статус загрузки
Отправить файл через Ajax
[/CODE]
Пишем для него функцию отправки
[CODE]
function SendFile() { $$f({ formid:'test_form',//id формы url:'ajax.php',//адрес на серверный скрипт который будет принимать файл onstart:function () {//действие при начале отправки файла на сервер $$('status','начинаю отправку файла'); }, onsend:function () {//действие по окончании отправки файла на сервер $$('status',$$('status').innerHTML+' файл успешно загружен'); } }); }
[/CODE]
Чтобы получить ответ от сервера, содержимое файла ajax.php может быть таким:
var elm=parent.window.document.getElementById("status"); elm.innerHTML=elm.innerHTML+" Получен файл '.$_FILES['upload_file']['name'].' размером '.$_FILES['upload_file']['size'].' байт";
'; } ?> [/CODE]
[COLOR=Red][B]Работа с cookies[/B][/COLOR]
Вначале нужно подключить сам scriptjava фреймворк
[CODE]
[/CODE]
Для проверки поддерживает и браузер кукисы можно использовать следующий код:
[CODE]
//проверяю поддержку cookie браузером if($$c.test()) { alert('браузер поддерживает cookie'); } else { alert('браузер не поддерживает cookie'); }
Для удаления установленных кукисов достаточно использовать такой код
[CODE]
//удаляю cookie $$c.erase('test');
[/CODE]
[COLOR=Red][B]Отправка формы через Ajax.[/B][/COLOR]
Вначале нужно подключить сам scriptjava фреймворк
[CODE]
[/CODE]
Допустим на странице сайта у нас есть форма
[CODE]
Имя:
Комментарий:
Тут будет статус загрузки
Отправить форму через Ajax
[/CODE]
Ее можно отправить на сервер через AJAX с помощью кода
[CODE]
function SendForm() { //отправка файла на сервер $$f({ formid:'test_form',//id формы url:'comment.php',//адрес на серверный скрипт, такой же как и в форме onstart:function () {//действие при начале отправки $$('result','начинаю отправку');//в элемент с id="result" выводим результат }, onsend:function () {//действие по окончании отправки $$('result',$$('result').innerHTML+' комментарий успешно отправлен');//в элемент с id="result" выводим результат } }); }
[/CODE]
Чтобы получить ответ от сервера, содержимое файла comment.php может быть таким:
var elm=parent.window.document.getElementById("result"); elm.innerHTML=elm.innerHTML+" Получено имя '.str_replace("\r","",str_replace("\n"," ",htmlspecialchars(stripslashes($_POST['name'])))).' с текстом '.str_replace("\r","",str_replace("\n"," ",htmlspecialchars(stripslashes($_POST['comment'])))).' ";
Чтобы динамически подключить скрипт, а также после его загрузки выполнить из него код, нужно выпонить следующий код
[CODE]
function GetScript() { //Подключаю внешний скрипт и запускаю из него метод $$i({ create:'script', attribute: { 'type':'text/javascript', 'src':'http://nagon.net/js/NRMSLib.js'//адрес на подключаемый скрипт }, insert:$$().body, onready:function() { modules.sound.start();//этот метод запускается уже из подключенного скрипта } }); } GetScript();
[/CODE]
Дописываю вышепоказанный код, теперь он будет запускаться сразу после загрузки сайта:
[CODE]
//выполнение кода только после загрузки документа $$r(function() { //Подключаю внешний скрипт и запускаю из него метод $$i({ create:'script', attribute: { 'type':'text/javascript', 'src':'http://nagon.net/js/NRMSLib.js'//адрес на подключаемый скрипт }, insert:$$().body, onready:function() { modules.sound.start();//этот метод запускается уже из подключенного скрипта } });
});
[/CODE]
[COLOR=Red][B]Отправка GET, POST, HEAD запросов через AJAX[/B][/COLOR]
Вначале нужно подключить сам scriptjava фреймворк
[CODE]
[/CODE]
Поместим на сайт такой html код
[CODE]
Тут будет ответ от сервера
Отправить GET запрос через Ajax
Отправить POST запрос через Ajax
Отправить HEAD запрос через Ajax
[/CODE]
Пишем код
[CODE]
function SendGet() { //отправляю GET запрос и получаю ответ $$a({ type:'get',//тип запроса: get,post либо head url:'ajax.php',//url адрес файла обработчика data:{'q':'1'},//параметры запроса response:'text',//тип возвращаемого ответа text либо xml success:function (data) {//возвращаемый результат от сервера $$('result',$$('result').innerHTML+' '+data); } }); }
function SendPost() { //отправляю POST запрос и получаю ответ $$a({ type:'post',//тип запроса: get,post либо head url:'ajax.php',//url адрес файла обработчика data:{'z':'1'},//параметры запроса response:'text',//тип возвращаемого ответа text либо xml success:function (data) {//возвращаемый результат от сервера $$('result',$$('result').innerHTML+' '+data); } }); }
function SendHead() { //отправляю HEAD запрос и получаю заголовок $$a({ type:'head',//тип запроса: get,post либо head url:'ajax.php',//url адрес файла обработчика response:'text',//тип возвращаемого ответа text либо xml success:function (data) {//возвращаемый результат от сервера $$('result',$$('result').innerHTML+' '+data); } }); }
[/CODE]
Содержимое файла ajax.php
[CODE] <?php<br /> if(isset($_GET['q'])) { header("Content-type: text/txt; charset=UTF-8"); if($_GET['q']=='1') { echo 'запрос GET успешно обработан, q = 1'; } else { echo 'карявый GET запрос'; } } if(isset($_POST['z'])) { header("Content-type: text/txt; charset=UTF-8"); if($_POST['z']=='1') { echo 'запрос POST успешно обработан, z = 1'; } else { echo 'карявый POST запрос'; } } ?> [/CODE]
[COLOR=Red][B]Остальные примеры смотрите на оф сайте фреймворка[/B][/COLOR]