Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Teamur
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336

Вставка определения термина в пустой div по нажатии Enter после ввода названия термина в форму

06.01.2015, 12:21. Показов 1645. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как это должно работать (пример):
1) Пользователь вводит в форму (текстовое поле) термин "Интерференция"
2) Нажимает "Enter"
3) В пустом блоке появляется определение термина: "это изменение в характере звуковых, тепловых, световых и электрических явлений..."

<div id="blockopred"></div>

Пожалуйста помогите, вопрос вроде простой, а поиск ответа в интернете только портит настроение. Миллион статей, фиг узнаешь какие решения наиболее оптимальные...(
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.01.2015, 12:21
Ответы с готовыми решениями:

Поиск термина из базы
Всем привет. возникла проблема с memo. задача. есть два документа( один новый другой старый) с большим количеством терминов (каждый...

Вывод поясняющего текста для заданного термина
Написать с Помощью КЛАССОВ нужно !!! Текст помощи для не которой программы организован в виде линейного списка Каждая компонента...

При добавлении термина удаляет предыдущий, вставляет новое
так, создал маленькая словарь, там при добавлении новых слов очищает предыдущий, записывает новое. вопрос. А как можно сделать, так чтоб...

12
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
06.01.2015, 13:32
Цитата Сообщение от Teamur Посмотреть сообщение
поиск ответа в интернете только портит настроение
понятное дело... если ищешь "то, не знаю что"

форма - это теги <form></form> и все HTML-теги между ними
ввести что-либо в форму нельзя по определению
ввести что-либо можно в поле ввода (иначе - в текстовое поле <inpit type="text">) - и это поле называется элементом формы

откуда страница будет брать определения терминов?
случаем, не в Гугле поискать должна?
0
 Аватар для Teamur
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
06.01.2015, 13:47  [ТС]
Из таблицы, либо из другого div-а
Может лучше использовать некую базу данных (таблицу) где, каждому термину соответствует свое определение, но это уже в области php, верно?

Добавлено через 9 минут
Может быть название термина будет являться названием функции javascript. И когда пользователь введет его, скрипт разместит определение в div-е.

Добавлено через 3 минуты
Может это как-то использовать... Атрибут VALUE. Определяет значение элемента формы, которое будет отправлено на сервер или получено с помощью клиентских скриптов. На сервер отправляется пара «имя=значение», где имя задается атрибутом name тега <input>, а значение — атрибутом value. Так вот имя есть термин, а значение-определение.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
06.01.2015, 14:01
Цитата Сообщение от Teamur Посмотреть сообщение
На сервер отправляется пара «имя=значение», где имя задается атрибутом name тега <input>, а значение — атрибутом value. Так вот имя есть термин, а значение-определение.
перечитайте написанное вами
со страницы на сервер отправляется пара «имя=значение», где имя задается атрибутом name тега <input>, а значение — атрибутом value. Так вот имя есть термин, а значение-определение.

идём в библиотеку (на сервер) и заказываем книгу
в заявке пишем название книги (термин), а на обороте - полное её содержание (определение)

жуть, правда?
два вопроса - откуда мы знаем полное содержание книги?
и на хрена нам ходить на сервер (брать книгу в библиотеке), если мы уже знаем полное её содержание?
0
 Аватар для Teamur
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
06.01.2015, 14:24  [ТС]
1. Сайт представляет собой локальную энциклопедию без доступа к сети.
2. Где и в какой форме мне нужно хранить список терминов и определений (таблицу), чтобы я со страницы сайта смог получить определения вводимых в поле ввода терминов? Я честно говоря без понятия.
3. Как я могу вносить новые термины и определения в таблицу прямо из страницы?
4. Что представляет собой этот файл таблица (база данных); какой это будет формат txt? php?
5. Как сделать так, чтобы на странице я мог отредактировать определения терминов и сохранить изменения? Через js, верно?
Принцип: нажатие на клавишу enter активирует скрипт, который считывает название термина из поля ввода, находит его в базе и вставляет в div определение соответствующее этому термину!

Добавлено через 4 минуты
Может определение термина прописать в самом коде javascript-функции?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
06.01.2015, 15:22
Цитата Сообщение от Teamur Посмотреть сообщение
Сайт представляет собой локальную энциклопедию без доступа к сети.
по определению сайт — совокупность электронных документов (файлов) частного лица или организации в компьютерной сети, объединённых под одним адресом (доменным именем или IP-адресом).

так что вашу задумку сайтом называть никак нельзя
лучше подойдёт название "набор локальных файлов" из минимума одного исполняемого в какой-либо среде (раз пишете про <input>, значит, среда - либо браузер, либо HTA) + какое-то нужное количество вспомогательных файлов (если в вашей энциклопедии больше одного термина)

для работы с файлами компьютера существует объект FileSystemObject
работа с этим объектом рассматривается в другом разделе форума

вкратце:
1) создаёте файл название.hta
2) создаёте "кучку" из 33-x текстовых файлов буква.txt (если у вас только русскоязычные термины)
например, в формате
термин1табуляцияопределение термина1
термин2табуляцияопределение термина2
...
термин123табуляцияопределение термина123


3) в файле название.hta прописываете <input>, на который "навешиваете" обработку события onkeydown (нажатие на клавиши) при каждом нажатии определяете код нажатой клавиши и если это ENTER, то "вытаскиваете" из <input> первую букву введенного значения и открываете (если он существует) соответствующий файл буква.txt
4) читаете этот файл и ищете в нём точное совпадение со значением + табуляция, введённым в <input>
5) если совпадение найдено, выводите определение из этой строки файла

6) попутно возникнет вопрос регистрозависимости (в текстовом файле у вас Интерференция, а пользователь ввёл, положим, иНТЕРФЕРЕНЦИЯ) -- это легко разрешимо
7) но, не дай Б-г, захотите использовать словоформы терминов - (в текстовом файле у вас Интерференция, а пользователь ввёл, положим, интерференцию) - программу тогда будете писать всю вашу оставшуюся жизнь

8) если хотите реализовать редактирование энциклопедии с сохранением, то подумайте над интерфейсом - как это будет выглядеть, по-вашему?
0
 Аватар для Teamur
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
06.01.2015, 15:45  [ТС]
Если бы энциклопедия была настоящим сайтом.
Правильно ли я представляю процесс:

1. Пользователь через браузер заходит на мой сайт. На сервер при этом приходит запрос сформировать и отправить ему страничку. На сервере это делает php скрипты, так?
2. На сервере должна быть база с терминами и определениями, отсюда вопрос:
Как вообще выглядит на сервере файл базы данных, например таблица с логинами и паролями? Какое расширение этого файла?
3. Пользователь пишет слово: окунь (пусть так в им падеже, маленькими буквами, на русском языке и никак более)
4. Нажимает Enter. При этом как я понимаю при загрузке страницы js-скрипт уже запуститься. Скрипт отправляет текст из поля ввода на сервер.
5. На сервере скрипт php сверяет полученный текст (окунь) с базой терминов и определений, если он находит термин, то скрипт php создает div, куда вкладывает текст-определение (- это рыба, товарищ!) термина и отправляет клиенту фрагмент кода html с этим div-ом.
6. Браузер клиента обновляет страницу (до ajaxa мне еще далеко ) и пользователь видит появление определения термина.
Получается, что задача javascript в том, чтобы отправить на сервер для поиска в базе определения, а основную работу будет выполнять php-скрипт?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
06.01.2015, 16:39
Лучший ответ Сообщение было отмечено Teamur как решение

Решение

Цитата Сообщение от Teamur Посмотреть сообщение
Правильно ли я представляю процесс:
нет, неправильно

пользователь через браузер зайти на сайт не может, ибо сайт (см. выше) - это совокупность страниц, может быть, даже из сотни тысяч
браузер пользователя в единый момент времени может запросить у сервера код лишь одной конкретной страницы сайта

если код конкретной запрашиваемой страницы написан вами в "чистом виде", т.е. как HTML+CSS+JS-код, то сервер этот код браузеру и отдаст AS IS (как он есть)
если код этой страницы написан с использованием серверных технологий (например, на PHP, полностью или частично), то сервер запустит PHP-интерпретатор, который сформирует тот же самый в "чистом виде" HTML+CSS+JS-код
совсем недавно я об этом писал подробнее - см. здесь

серверная база данных (БД) - это отдельный программный продукт со своим языком, грубо представляет из себя некую таблицу, каждая ячейка которой доступна по текстовому ключу (ключам)
в вашем случае такими ключами могут быть как раз термины, а содержимое ячеек - определениями терминов

PHP-интерпретатор, зная путь к БД и получив от браузера ключ ("окунь"), легко вытащит из БД содержимое нужной ячейки - это всего одна строка кода
и отправит это содержимое браузеру как строку текста (можно и как фрагмент HTML-кода) - ещё одна строка кода
итого PHP-файл -- это 4 строки кода

AJAX - жутко примитивная штука -- ваша задача решается четырьмя строками кода - по событию нажатия клавиши ENTER "вытаскивается" введённое в <input> слово (например, "окунь"), вызывается специальный PHP-файл, которому сообщается этот слово

PHP-скрипт - это плохое, неправильное слово
скрипт - это то, что внедряется в какую-то среду как дополнение
PHP же исполняется самостоятельно, поэтому лучше писать о PHP-файле (на худой конец - о PHP-программе)

так что ваш вывод о преимущественном решении вашей задачи на PHP - он неверен, код на PHP по объёму одинаков с кодом на javascript'e
1
 Аватар для Teamur
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
06.01.2015, 17:10  [ТС]
Спасибо! Многое прояснилось теперь. Вот бы увидеть эти четыре строчки кода ))) А вот если я дома установлю скажем denwer (эмулятор сервера если я не ошибаюсь), я же смогу создать базу данных mysql и поэкспериментировать!
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
06.01.2015, 17:18
Цитата Сообщение от Teamur Посмотреть сообщение
А вот если я дома установлю скажем denwer (эмулятор сервера если я не ошибаюсь), я же смогу создать базу данных mysql и поэкспериментировать!
устанавливать денвер, PHP + mySQL -- зачем такие сложности?
имеется куча бесплатных хостингов, где всё это уже есть, например, awardspace.com или hostinger.ru
0
 Аватар для Teamur
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
06.01.2015, 17:27  [ТС]
Надеюсь они там (awardspace.com или hostinger.ru) никого не дурят )))

Добавлено через 2 минуты
И всё же если вас не затруднит, как бы мог выглядеть JS-код для решения этой задачи?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
06.01.2015, 18:39
Цитата Сообщение от Teamur Посмотреть сообщение
если вас не затруднит, как бы мог выглядеть JS-код для решения этой задачи?
ужасно плохо быть бестолковым, по себе знаю...
писал я вам, писал...
прочитали вы это вроде... даже отметили, что что-то у вас якобы проясняется
а теперь просите только JS-код для решения этой задачи

поясняю последний раз, ибо надоело впустую тратить на вас время: только JS-код без соответствующего PHP-файла -- это автомобиль без бензина, т.е. посмотреть можно, но ехать (работать) не будет

запустите для примера это - javascript-код там реально занимает поболее строк, но с AJAX связано именно 4 строки, вот эти:


JavaScript
1
2
3
4
5
6
7
function sendReq (x)
{
var htReq = ('v' == '\v') ? new ActiveXObject ('Microsoft.XMLHTTP') : new XMLHttpRequest ();
htReq.open ('get', 'reg.php?' + encodeURIComponent (x.options [x.selectedIndex].value));
htReq.onreadystatechange = getReq;
htReq.send (null);
}
+ выложен код PHP-файла
1
 Аватар для Teamur
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
06.01.2015, 18:53  [ТС]
Спасибо! В следующий раз буду выражаться яснее )))
С Рождеством Вас! Желаю вам крепкого здоровья и успехов во всем!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.01.2015, 18:53
Помогаю со студенческими работами здесь

Словарь: определить процент верных ответов в парах термин/перевод термина на английский
С клавиатуры ввести последовательность записей, которые состоят со слов-терминов и их переводов на английский язык. Очистить экран....

Какой тег предназначен для описания термина (ключа) в списке определений (ассоциативномсписке)?
Какой тег предназначен для описания термина (ключа) в списке определений (ассоциативном списке)? dl ul dt p dd od

Формы. После нажатии кнопки прочитать названия журналов, которые были выбраны пользователем и вывести их на форму
&lt;html&gt; &lt;head&gt; &lt;script&gt; function check() { for (i=0; i&lt;4; i++) { if (my.option.checked) { my.text1.value=&quot;13456778&quot;; } ...

Как правильно - конкатенты, соконкатенты или конкатенанты, или термина для такого понятия вовсе нет?
когда мы складываем a и b, то называем их &quot;слагаемыми&quot;, когда перемножаем эти же числа, то называем их &quot;сомножителями&quot; ...

Действие click() при нажатии на клавиатуре Enter в опредленном div
Есть div. В нем находится инпут и кнопка. Как при нажтии на клавиатуре на Enter заставить кнопку нажаться? &lt;div...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru