Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 25.11.2014, 13:47
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Канонично это делается так

location.href=base_url+'/?name='+array_random(names);
// получится, например
// [url]http://example.com/search.php/?name=Анакин[/url]


Это вся страница загрузится. А чтобы загрузить инфу в уже загруженную страницу, надо сделать то же самое, но в рамках аякса (XMLHttpRequest). Методом GET там это делается элементарно.

Последний раз редактировалось kostyanet, 25.11.2014 в 13:49.
Ответить с цитированием
  #22 (permalink)  
Старый 25.11.2014, 13:53
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от sochi-russia
и соответственно если первое имя Августина до запятой в контейнере,
Можно, тогда вы передаете индекс имени, а не само имя. Но там куда передаете, все должно совпасть.

example.com/search/?name=1076
Ответить с цитированием
  #23 (permalink)  
Старый 25.11.2014, 14:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

sochi-russia,
посылать нормальный запрос на сервер и пусть сервер обратывает
типа
'href':'http://babybonus.ru/index/search?name='+encodeURIComponent(name)
Ответить с цитированием
  #24 (permalink)  
Старый 25.11.2014, 14:33
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Ладно, представим что я это делаю.

Сначала мне нужна таблица в БД с именами и толкованиями (общая схема).

Код:
create table names (
id int,
name varchar(100),
gen enum('мальчик','девочка'),
legend varchar(4095),
primary key(id)
);
Теперь мне надо вывести из нее массив с парой name => id

select id,name,gen+0 from names;

// тут конкретика как получить из запроса результат

$out=array();
while($row = $result->fetch_assoc())
  $out[$row['gen']][$row['name']]=$row['id'];


то есть получим массив из 2-х элементов первого уровня (1 и 2), в каждом из которых будут массивы в виде пары имя - индекс. Имя первое, поскольку оно - аргумент, а искомое - индекс.

фича gen+0 превращает текст в индексе, если без +0, то вместо 1 и 2 будет мальчик и девочка. Может и так хорошо.

теперь надо отпостить этот массив в хтмл в процессе рендера страницы

<script>
  var names=<?php echo json_encode($out);?>;
</script>


или непосредственно в ту функцию в виде проперти или там аргумента, которая ищет и качает.

Теперь идет интерфейс из которого поступает запрос - Анакин.

if(name in names[1])
 var id = names[1][name]; // 1 == мальчик, 2 == девочка, если помните
else
  throw 'Такого имени "'+name+'" человечество еще не придумало!';


Теперь надо сделать запрос на сервер. Реализация может быть какой угодно. Например

var url = location.host+'search.php/?id='+index;

var link = new XMLHttpRequest();
link.onreadystatechange=function()  {
	if (link.readyState==4 && link.status==200) {
		update_legend(link.responseText);
	}
	document.body.style.cursor = "auto";
}
link.open('GET', url, true);
link.send();
document.body.style.cursor = "wait";

// update_legend() - функция которая знает куда сунуть пришедший ответ


search.php
<?php
if(isset($_GET['id'])){
  $id=(int)$_GET['id'];
   
  select legend from names where id=$id;

  // бла-бла-бла, зависит от провайдера БД

  echo json_encode($data);

}


готово.

Последний раз редактировалось kostyanet, 25.11.2014 в 14:36.
Ответить с цитированием
  #25 (permalink)  
Старый 25.11.2014, 14:38
Интересующийся
Отправить личное сообщение для sochi-russia Посмотреть профиль Найти все сообщения от sochi-russia
 
Регистрация: 24.11.2014
Сообщений: 23

Сообщение от kostyanet Посмотреть сообщение
Можно, тогда вы передаете индекс имени, а не само имя. Но там куда передаете, все должно совпасть.

example.com/search/?name=1076
Страницы у меня будут все закрыты от индексации, внутренний поиск по сайту работать не будет.
Все это слишком сложно. Видно сам я усложнил задачу. Для облегчения всего процесса можно создать ТХТ файл к каждому имени отдельно, в котором будет описание. Допустим высветилось в текст ареа имя "Августина", в корне сайта у меня будет лежать текстовый файл Августина.txt в нутри которого и будет описание. справа от кнопки жми меня будет кнопка "Значение" при нажатии на которое на этой же странице появится окно Alert с возможностью использования стилей, в котором будет описание взятое из "Имя.txt файла. Как то так.
Ответить с цитированием
  #26 (permalink)  
Старый 25.11.2014, 14:39
Интересующийся
Отправить личное сообщение для sochi-russia Посмотреть профиль Найти все сообщения от sochi-russia
 
Регистрация: 24.11.2014
Сообщений: 23

PHP на сайте на поддерживается и Mysql тоже. В этом и загвоздка
Ответить с цитированием
  #27 (permalink)  
Старый 25.11.2014, 14:47
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Тогда нафига вы пришли на форум программистов? Идите на форум того быдлопровайдера которого выбрали, там вам дадут API и его мучайте.
Ответить с цитированием
  #28 (permalink)  
Старый 25.11.2014, 14:52
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от sochi-russia
при нажатии на которое на этой же странице появится окно
Неоперабельно.

Блеать, я одного не пойму, нахера вообще заниматься сайтостроительством если никакого сайта нет в помине?

Мозгоебы, 500 рублей в год жалеют до усрачки. Я делал игровой форум за 400 рублей в год - 1 бд, какие-то там мегабайты, все крутилось и вертелось включая домен.

В 100500 раз лучше найти самого начинающего хостера с неведомым аптаймом, чем дрочиться с мечтой подгрузить текстовый файл из корня.

Я воняю в целях предостеречь от таких решений. Это не решение, а гавно.

Да, сделайте фрейм и в него грузите свои тексты, как в 90-е

Последний раз редактировалось kostyanet, 25.11.2014 в 14:57.
Ответить с цитированием
  #29 (permalink)  
Старый 25.11.2014, 16:34
Интересующийся
Отправить личное сообщение для sochi-russia Посмотреть профиль Найти все сообщения от sochi-russia
 
Регистрация: 24.11.2014
Сообщений: 23

Сообщение от kostyanet Посмотреть сообщение
Неоперабельно.

Блеать, я одного не пойму, нахера вообще заниматься сайтостроительством если никакого сайта нет в помине?

Мозгоебы, 500 рублей в год жалеют до усрачки. Я делал игровой форум за 400 рублей в год - 1 бд, какие-то там мегабайты, все крутилось и вертелось включая домен.

В 100500 раз лучше найти самого начинающего хостера с неведомым аптаймом, чем дрочиться с мечтой подгрузить текстовый файл из корня.

Я воняю в целях предостеречь от таких решений. Это не решение, а гавно.

Да, сделайте фрейм и в него грузите свои тексты, как в 90-е
Спасибо.
Ответить с цитированием
  #30 (permalink)  
Старый 26.11.2014, 00:50
Интересующийся
Отправить личное сообщение для sochi-russia Посмотреть профиль Найти все сообщения от sochi-russia
 
Регистрация: 24.11.2014
Сообщений: 23

Немного подправил код. вот пример http://babybonus.ru/load
вот в песочнице. http://learn.javascript.ru/play/eoI9h

<FORM NAME="WordForm" style="background:57AED7;">
 <div align="center"><INPUT TYPE=TEXT SIZE=10 NAME="WordBoxboy" style="text-align:center;"></div><INPUT TYPE=BUTTON class="manFlSbm" grender="boy" VALUE="Жми меня" ><INPUT TYPE=BUTTON class="manZFlRst" grender="boy" VALUE="Значение" action="javascript://" onclick="new _uWnd('New3','типа помощь',800,350,{autosize:1,maxh:300,minh:100},'<iframe src=\'http://babybonus.ru/bebi/Abram.htm\' style=\'margin:0;padding:0;width:800px;height:290px;\'scrolling=\'auto\'></iframe>');return false;"> ">
[html]

</FORM>

[js] <script>  
   
  function apotme() {  
  var apo = $('.postTextFl').val();  
  var apo2 = apo.replace(/q/g, 'й').replace(/w/g, 'ц').replace(/e/g, 'у').replace(/r/g, 'к').replace(/t/g, 'е').replace(/y/g, 'н').replace(/u/g, 'г').replace(/i/g, 'ш').replace(/o/g, 'щ').replace(/p/g, 'з').replace(/\[/g, 'х').replace(/\]/g, 'ъ').replace(/a/g, 'ф').replace(/s/g, 'ы').replace(/d/g, 'в').replace(/f/g, 'а').replace(/g/g, 'п').replace(/h/g, 'р').replace(/j/g, 'о').replace(/k/g, 'л').replace(/l/g, 'д').replace(/\;/g, 'ж').replace(/\'/g, 'э').replace(/z/g, 'я').replace(/x/g, 'ч').replace(/c/g, 'с').replace(/v/g, 'м').replace(/b/g, 'и').replace(/n/g, 'т').replace(/m/g, 'ь').replace(/\,/g, 'б').replace(/\./g, 'ю').replace(/\//g, '.').replace(/Q/g, 'Й').replace(/W/g, 'Ц').replace(/E/g, 'У').replace(/R/g, 'К').replace(/T/g, 'Е').replace(/Y/g, 'Н').replace(/U/g, 'Г').replace(/I/g, 'Ш').replace(/O/g, 'Щ').replace(/P/g, 'З').replace(/\{/g, 'Х').replace(/\}/g, 'ъ').replace(/A/g, 'Ф').replace(/S/g, 'ы').replace(/D/g, 'В').replace(/F/g, 'А').replace(/G/g, 'П').replace(/H/g, 'Р').replace(/J/g, 'О').replace(/K/g, 'Л').replace(/L/g, 'Д').replace(/\:/g, 'Ж').replace(/\"/g, 'Э').replace(/Z/g, 'Я').replace(/X/g, 'Ч').replace(/C/g, 'С').replace(/V/g, 'М').replace(/B/g, 'И').replace(/N/g, 'Т').replace(/M/g, 'ь').replace(/\</g, 'Б').replace(/\>/g, 'Ю').replace(/\//g, ',');  
  $('.postTextFl').val(apo2)  
  };  
 
  </script> [/js]

[html]
<FORM NAME="WordForm">
<div align="center"><INPUT TYPE=TEXT SIZE=10 NAME="WordBoxgirl" style="text-align:center;"></div>
<INPUT TYPE=BUTTON class="manFlRst" grender="girl" VALUE="Жми меня">
<INPUT TYPE=BUTTON class="manZFlRst" grender="boy" VALUE="Значение" action="javascript://" onclick="new _uWnd('New3','типа помощь',800,350,{autosize:1,maxh:300,minh:100},'<iframe src=\'http://babybonus.ru/bebi/Avgustina.htm\' style=\'margin:0;padding:0;width:800px;height:290px;\'scrolling=\'auto\'></iframe>');return false;">
</FORM>


<SCRIPT> 
$('.manFlSbm').click(function(){
var Names = new Array;
var grender = $(this).attr('grender');
var Names = $('#'+grender+'Container').text().split(',');
var NamesAll = Names.length; 
var RandomNum = Math.floor(Math.random() * NamesAll );
var randomName = Names[RandomNum];
$('input[name="WordBox'+grender+'"]').val(randomName)
 
});

</SCRIPT><SCRIPT> 
$('.manFlRst').click(function(){
var Names = new Array;
var grender = $(this).attr('grender');
var Names = $('#'+grender+'Container').text().split(',');
var NamesAll = Names.length; 
var RandomNum = Math.floor(Math.random() * NamesAll );
var randomName = Names[RandomNum];
$('input[name="WordBox'+grender+'"]').val(randomName)

});

</SCRIPT>


<div style="display:none;" id="boyContainer" >
Абрам 

</div>
<div style="display:none;" id="girlContainer">
Августина</div>


Принцип такой:

Как вариант, сделал папку скажем беби, в ней кучу html файлов, один файл одно имя, потом js-ой нужно подставлить имя в адрес скажем babybonus.ru/bebi/тут имя ребенка.htm и вывести в аякс окошке

Имя можно просто переформатировать скажем Максим будет файл Maksim.htm тобишь замена русских букв на английские

Тобишь у нас есть ссылка в кнопке в которую скриптом просто подставляем имя страницы.

Затем нужен скрипт которые возьмет из текст ареа высветившееся имя переведет его в транслит и вставит в ссылку в кнопку вот сюда
(Отмечено красным.)
<FORM NAME="WordForm">
<div align="center"><INPUT TYPE=TEXT SIZE=10 NAME="WordBoxgirl" style="text-align:center;"></div>
<INPUT TYPE=BUTTON class="manFlRst" grender="girl" VALUE="Жми меня">
<INPUT TYPE=BUTTON class="manZFlRst" grender="boy" VALUE="Значение" action="javascript://" onclick="new _uWnd('New3','типа помощь',800,350,{autosize:1,maxh:300,minh:10 0},'<iframe src=\'http://babybonus.ru/bebi/Avgustina.htm\' style=\'margin:0;padding:0;width:800px;height:290p x;\'scrolling=\'auto\'></iframe>');return false;">
</FORM>
. Такое возможно?

Последний раз редактировалось sochi-russia, 26.11.2014 в 00:56.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как написать условие? imedia Элементы интерфейса 42 24.11.2014 09:41
Как написать скрипт для Photoshop? Svede Ваши сайты и скрипты 1 20.11.2014 16:31
Как написать алгоритм выборки в javascript? Isaac Общие вопросы Javascript 13 06.02.2013 11:15
Как написать регулярное выражение для поиска до конца строки isqad88 Общие вопросы Javascript 3 11.02.2012 15:34
Как написать такой скрипт? nemo Серверные языки и технологии 11 28.02.2010 23:19