Как написать условие?
Здравствуйте Гуру программисты. Подскажите пожалуйста.
Есть генератор слов. Есть форма с классом. При нажатии Кнопки " Генерировать" высвечивается Имя. Как написать скрипт или условие что если сгенерировано слово Максим, справа от слова высвечивалась кнопка при нажатии на которую открывался фрэйм или подсказка небольшого размера с описание что означает имя, взятого с определенной страницы. Имена лежат в контейнере через запятую. Заранее спасибо. У администрации прошу прощения если разместил не в том разделе и прошу перенести тему в более подходящий раздел. Вот форма <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="Жми меня"> </FORM> Скрипт взятие информации с контейнера [ js ] <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>[ /js ] Вот контейнер с именами <div style="display:none;" id="girlContainer"> Августина,Аврора,*** </div> |
Цитата:
if (randomName=='Максим') { // Вот тут и начать делать кнопки... }; |
Цитата:
|
Цитата:
На огрызках как тебе покажут? |
Цитата:
Спасибо |
Значит никто не поможет(((
|
sochi-russia,
всем в падлу лазить по вашему сайту и искать там то о чем вы говорили. Уважайте время людей которых просите о помощи, сделайте тут тестовый пример с возможностью запуска. |
Пожалуйста, локализуйте проблему!
Выделите фрагмент кода, по которому есть вопрос и опубликуйте его отдельно. И, по возможности, уберите из кода мусор, чтобы нам легче было сориентироваться и помочь решить вашу проблему. Спасибо. P.S. код форматируют специальные теги [ js ] ... [/js], [ html ] ... [/html] и другие аналогичные, сам. http://javascript.ru/formatting |
Del
|
Медицинский факт. В РФ никто не пользуется автоответчиками, потому что никто не умеет излагать свои мысли без подсказок и вопросов собеседника. Еще один соискатель решения пропал в пучине небытия из-за того что не захотел рассказать что он хочет сделать, а начал рассказывать что у него не получается сделать.
|
Цитата:
![]() В каждой форме 1 кнопка , которая при нажатии достает из контейнера слово и вставляет в Текст ареа. ![]() Так вот. Мне нужно к каждой форме поставить по кнопке, при нажати которой открывалась страница с описанием того имени, которое высветилось на экранчике. Как это реализовать, что переделать я не зню, я уже голову себесломал. Согласен на то что мне придется к каждому имени прописывать вручную урл, только подскажите как и что. Песочница: http://learn.javascript.ru/play/RDLufc <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="Жми меня" > </FORM> <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="Жми меня"> </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> Спасибо. |
sochi-russia,
а пример ссылки то где? |
Цитата:
И вот сайт где форма babybonus.ru Вот пример написания урл для описания. http://babybonus.ru/index/imya_maxim/0-2 |
sochi-russia,
придумайте массив для ссылок, информацию как из имени получить значение ссылки, иначе пока так <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script type='text/javascript' src='http://code.jquery.com/jquery-git2.js'></script> <title></title> </head> <body> <form name="WordForm" style="background:57AED7;" id="WordForm"> <div align="center"> <input type="text" size="10" name="WordBoxboy" style="text-align:center;"> </div><input type="button" class="manFlSbm" grender="boy" value="Жми меня"> </form> <form name="WordForm" id="WordForm"> <div align="center"> <input type="text" size="10" name="WordBoxgirl" style="text-align:center;"> </div><input type="button" class="manFlRst" grender="girl" value="Жми меня"> </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) ; linkName(randomName) ; }); function linkName(name) { $('a').attr({'href':'http://babybonus.ru/index/'+name, 'title' : name}).text('Значение имени ' + name) } $('.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) linkName(randomName) ; }); </script> <a href="" target="_blank" title="" ></a> <div style="display:none;" id="boyContainer"> Абрам , Август, Авдей, Аверкий, Авксентий </div> <div style="display:none;" id="girlContainer"> Августина,Аврора,Авигея,Агата </div> </body> </html> |
Цитата:
|
sochi-russia,
а почему прямо в скрипте не прописать имена и ссылки? var lnk = {'Максим' : '0-2', 'Пётр' : '0-7'} 'href':'http://babybonus.ru/index/'+lnk[name] |
Цитата:
|
sochi-russia,
а в html нетяжело ? а парсить html нетяжело ? |
Цитата:
Короче, все правильно, делается массив, так гораздо быстрее и с него все по ключам достается. |
Цитата:
Только так у нас ведутся беседы. Если доктор не задаст вопрос: на что жалуетесь - поциент посидит-посидит и пойдет писать жалобу на врача-хама. |
Канонично это делается так
location.href=base_url+'/?name='+array_random(names); // получится, например // [url]http://example.com/search.php/?name=Анакин[/url] Это вся страница загрузится. А чтобы загрузить инфу в уже загруженную страницу, надо сделать то же самое, но в рамках аякса (XMLHttpRequest). Методом GET там это делается элементарно. |
Цитата:
example.com/search/?name=1076 |
sochi-russia,
посылать нормальный запрос на сервер и пусть сервер обратывает типа 'href':'http://babybonus.ru/index/search?name='+encodeURIComponent(name) |
Ладно, представим что я это делаю.
Сначала мне нужна таблица в БД с именами и толкованиями (общая схема). Код:
create table names ( 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); } готово. |
Цитата:
Все это слишком сложно. Видно сам я усложнил задачу. Для облегчения всего процесса можно создать ТХТ файл к каждому имени отдельно, в котором будет описание. Допустим высветилось в текст ареа имя "Августина", в корне сайта у меня будет лежать текстовый файл Августина.txt в нутри которого и будет описание. справа от кнопки жми меня будет кнопка "Значение" при нажатии на которое на этой же странице появится окно Alert с возможностью использования стилей, в котором будет описание взятое из "Имя.txt файла. Как то так. |
PHP на сайте на поддерживается и Mysql тоже. В этом и загвоздка
|
Тогда нафига вы пришли на форум программистов? Идите на форум того быдлопровайдера которого выбрали, там вам дадут API и его мучайте.
|
Цитата:
Блеать, я одного не пойму, нахера вообще заниматься сайтостроительством если никакого сайта нет в помине? Мозгоебы, 500 рублей в год жалеют до усрачки. Я делал игровой форум за 400 рублей в год - 1 бд, какие-то там мегабайты, все крутилось и вертелось включая домен. В 100500 раз лучше найти самого начинающего хостера с неведомым аптаймом, чем дрочиться с мечтой подгрузить текстовый файл из корня. Я воняю в целях предостеречь от таких решений. Это не решение, а гавно. Да, сделайте фрейм и в него грузите свои тексты, как в 90-е |
Цитата:
|
Немного подправил код. вот пример 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> . Такое возможно? |
Гуру Яваскриптов помогите пожалуйста.
|
Часовой пояс GMT +3, время: 05:32. |