Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 28.11.2008, 22:57   #1
Мафиози
 
Аватар для Русская мафия
 
Регистрация: 11.09.2008
Адрес: <H1></H1>
Сообщений: 1,174
Вес репутации: 249
Русская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущее
По умолчанию Подскажите, на чём реализовать?

Необходимо сделать, чтобы при клике на кнопку появлялась надпись под кнопкой из массива. Думал на джава скрипт, но с ним в коде страницы виден сам скрипт, а мне нужно чтобы он был скрыт. Как лучше поступить? Надпись должна выводится на этой же странице, т.е. чтобы страница не перезагружалась. Спасибо.
__________________
Как дела?
Русская мафия вне форума   Ответить с цитированием
Старый 28.11.2008, 22:59   #2
Специалист
 
Аватар для maksim7
 
Регистрация: 05.05.2008
Адрес: Город Герой О_o
Сообщений: 354
Вес репутации: 223
maksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущее
По умолчанию

AJAX?
Масив с БД?
maksim7 вне форума   Ответить с цитированием
Старый 28.11.2008, 23:00   #3
Мафиози
 
Аватар для Русская мафия
 
Регистрация: 11.09.2008
Адрес: <H1></H1>
Сообщений: 1,174
Вес репутации: 249
Русская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущее
По умолчанию

Массив со скрипта, бд не нужно.
__________________
Как дела?
Русская мафия вне форума   Ответить с цитированием
Старый 28.11.2008, 23:07   #4
Специалист
 
Аватар для maksim7
 
Регистрация: 05.05.2008
Адрес: Город Герой О_o
Сообщений: 354
Вес репутации: 223
maksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущее
По умолчанию

AJAX ключевое слово, есть неплохая библиотека на _dklab.ru
Вы сможете подгружать данные с сервера в браузер без перезагрузки. Больше сказать тяжело поскольку неясна задача
maksim7 вне форума   Ответить с цитированием
Старый 28.11.2008, 23:12   #5
Мафиози
 
Аватар для Русская мафия
 
Регистрация: 11.09.2008
Адрес: <H1></H1>
Сообщений: 1,174
Вес репутации: 249
Русская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущее
По умолчанию

Цитата:
Сообщение от maksim7 Посмотреть сообщение
Больше сказать тяжело поскольку неясна задача
Задача следующая: в скрипте указываем массив из строк текста. На странице есть кнопка (<Input type="Button" value="Надави на меня" onClick="MyFunc()">) . При нажатии на кнопку должна появится надпись на этой же странице, взятая рандомно из массива. При этом страница не должна перезагружаться. И скрипт этот в исходном коде страницы не должен быть виден.
__________________
Как дела?
Русская мафия вне форума   Ответить с цитированием
Старый 28.11.2008, 23:27   #6
Специалист
 
Аватар для maksim7
 
Регистрация: 05.05.2008
Адрес: Город Герой О_o
Сообщений: 354
Вес репутации: 223
maksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущееmaksim7 - прекрасное будущее
По умолчанию

Ну тогда ответ выше.
Масив хранится на сервере в скрипте php например (serv_script.php), посылаете запрос с помощью AJAX который обращается к этому serv_script.php и возвращает рендомный элемент масива.
Вот ссылочка на библиотеку о которой я говорил _http://dklab.ru/lib/JsHttpRequest/
Там есть примеры.
maksim7 вне форума   Ответить с цитированием
Старый 28.11.2008, 23:30   #7
Мафиози
 
Аватар для Русская мафия
 
Регистрация: 11.09.2008
Адрес: <H1></H1>
Сообщений: 1,174
Вес репутации: 249
Русская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущее
По умолчанию

maksim7, Спасибо, надеюсь разберусь=)
__________________
Как дела?
Русская мафия вне форума   Ответить с цитированием
Старый 29.11.2008, 00:18   #8
Специалист
 
Аватар для kaxart
 
Регистрация: 24.05.2008
Сообщений: 364
Вес репутации: 220
kaxart - за этого человека можно гордитсяkaxart - за этого человека можно гордитсяkaxart - за этого человека можно гордитсяkaxart - за этого человека можно гордитсяkaxart - за этого человека можно гордитсяkaxart - за этого человека можно гордитсяkaxart - за этого человека можно гордитсяkaxart - за этого человека можно гордитсяkaxart - за этого человека можно гордится
Отправить сообщение для kaxart с помощью ICQ
По умолчанию

а почему нельзя перезагрузить страницу? долго загружается?
kaxart вне форума   Ответить с цитированием
Старый 29.11.2008, 09:14   #9
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 243
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

Цитата:
Сообщение от maksim7 Посмотреть сообщение
AJAX ключевое слово, есть неплохая библиотека на _dklab.ru
Писец, ну нахрена тянуть тяжелую либу, когда это можно сделать в 20 строчках кода. Люди совсем уже обленились, на xаммере в булочную через дорогу ездят уже.

Добавлено через 11 минут
Повешайте на клик кнопки обработчик DoWork
Код:
function DoWork() {
	var loader = GetAJAXLoader();
	if(loader===null) return;
	loader.onreadystatechange = function(){
		try { 
			if (loader.readyState == 4) {
				if (loader.status == 200) {
					document.getElementById('ID_html_элемента_для_замены_контента').innerHTML = loader.responseText;
				}
			}
		}
		catch( e ) { 
		}
	}
	loader.open("GET", 'URL_на_сервере_для_получения_нового_контента', true);
	loader.send(null);
	return ;
}
function GetAJAXLoader(){
	var req=null;
   	if (typeof(window.XMLHttpRequest)!='undefined') { try { req = new XMLHttpRequest(); } catch (e){ alert("Ошибка при получении AJAX загрузчика"); } }
   	else if (typeof(window.ActiveXObject)!='undefined') {
       	try { req = new ActiveXObject('Msxml2.XMLHTTP');} catch (e){
            try { req = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e){ alert("Ошибка при получении AJAX загрузчика"); }
		}
	}
	else alert("Браузер не поддерживает AJAX");
	return req;
}
и включите на сервере в скрипт заголовок с нужной кодировкой
header("Content-type: text/plain; charset=windows-1251");

Последний раз редактировалось ahsinis; 29.11.2008 в 09:14. Причина: Добавлено сообщение
ahsinis вне форума   Ответить с цитированием
Старый 29.11.2008, 12:05   #10
Мастер
 
Аватар для Pepel
 
Регистрация: 28.05.2007
Адрес: Липецк
Сообщений: 528
Вес репутации: 229
Pepel - просто великолепная личностьPepel - просто великолепная личностьPepel - просто великолепная личностьPepel - просто великолепная личностьPepel - просто великолепная личностьPepel - просто великолепная личность
Отправить сообщение для Pepel с помощью ICQ
По умолчанию

Цитата:
Писец, ну нахрена тянуть тяжелую либу, когда это можно сделать в 20 строчках кода. Люди совсем уже обленились, на xаммере в булочную через дорогу ездят уже.
Тож хотел примерчик написать, но вы меня опередили))).

Добавлено через 44 минуты
Вот мой пример:
Код:
<html>
  <body>
    <form>
      <input type="button" value="Надави на меня" onClick="MyFunc()">
      <div id="div_letter"></div>
    </form>
    <script type="text/javascript"><!--
        var request = null;
        
        function MyFunc(){
            if (request == null){
                request = CreateRequest();
                SendRequest(request, 'ajax_letter.php', UpdatePage);
            }
        }
        
        function UpdatePage(){
            if (request.readyState == 4 && request.status == 200){
                document.getElementById('div_letter').innerHTML = request.responseText;
                request = null;
            }
        }

        function CreateRequest(){
            var request;
            try{
                request = new XMLHttpRequest();
            }catch (trymicrosoft){
                try{
                    request = new ActiveXObject('Msxml2.XMLHTTP');
                }catch (othermicrosoft){
                    try{
                        request = new ActiveXObject('Microsoft.XMLHTTP');
                    }catch (failed){
                        request = false;
                    }
                }
            }
    
            if (!request)
                alert('Вы используете устаревший или неработоспособный браузер. Некоторые возможности на этой странице вам будут недоступны. Попробуйте использовать другой браузер или другой компьютер.');
    
            return request;
        }

        function SendRequest(request, url, func){
            request.open('GET', url, true);
            request.onreadystatechange = func;
            request.send(null);
        }
    //--></script>
  </body>
</html>
Файл ajax_letter.php в том же каталоге:
Код:
<?php
    header('Content-Type: text/plain; charset=windows-1251');
    
    $data = array('Текст 1', 'Текст 2', 'Ещё один текст', 'И так далее');
    echo $data[rand(0, count($data) - 1)];
?>
Посмотреть как работает можно здесь: http://www.przone.ru/ajax/letter.html
Скачать отсюда: http://www.przone.ru/ajax/ajax_letter.zip

Последний раз редактировалось Pepel; 29.11.2008 в 12:05. Причина: Добавлено сообщение
Pepel вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите как реализовать на пхп? Crudelis Разработка и сопровождение сайтов 17 16.10.2008 14:01
Подскажите CMS asdfg Курилка 16 16.08.2008 21:01
Контекст + обычные ссылки, как реализовать? analizer Вопросы от новичков 3 15.02.2008 13:25
Подскажите плз DmbITpo Яндекс 4 11.09.2007 01:49
вставка кода readfile - как реализовать? Seo-System Вопросы по работе системы 6 07.09.2007 14:37


Часовой пояс GMT +3, время: 01:48.