Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Событие onclick (https://javascript.ru/forum/misc/57878-sobytie-onclick.html)

daslex 25.08.2015 00:39

Событие onclick
 
Я не очень понял почему код срабатывает немного не так как я ожидаю.

<?php   $val=0;  ?>

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

<div id="id1"   onclick="document.getElementById('id').innerHTML = '<?php $val="id1";?>';">Раз</div>
<div id="id2"   onclick="document.getElementById('id').innerHTML = '<?php $val="id2";?>';">Два</div>

<?php   echo $val; ?>


Я ожидал, что в зависимости от элемента в php будут записываться разные элементы, а оно выполняется независимо и я получаю эффект как от того, что кликнул по последнему элементу.

daslex 25.08.2015 00:57

Я вообще ответ не понял. И я не пишу html в php. Я в блок div вгонял запись php. На странице ожидал увидеть 0.

daslex 25.08.2015 01:02

мне не нужно echo, echo выводит на экран. С ним все работает.
Мне не надо выводить на экран. Я просто пытался присвоить в переменную значение. Т.е. на странице должен появится ноль, а при клике по элементу там на сервере быть присвоенное значение.

daslex 25.08.2015 01:04

Да. ожидал ноль. Потому что изначально в переменную присвоен ноль. Кликов никто не делает, следовательно переменная не должна измениться.

после блоков <div> ожидался 0.

daslex 25.08.2015 01:11

Можно немного по-русски?. Формулировка неясно написана.
Никакого там чего?, я, реально, не понимаю.

daslex 25.08.2015 01:20

Насчет обойтись без переменной, я думаю у меня не выйдет. Это выходит за рамки темы. Любые ответы в большинстве своем будут скорее всего посылами, насколько я могу судить по опыту вопросов в php/javascript, поэтому пытаясь разобраться, я натыкаюсь на похожие вопросы.

Но я не понимаю ответов.
Как я пишу htmlом в php? Не понимаю. С моей т.з., я дописываю в html участок кода с php.
Я вообще не понимаю, как я могу писать Html'ом куда бы то ни было. Это язык гипертекстовой разметки, а не язык программирования.

daslex 25.08.2015 01:34

Почти так и пишу.

Только вот если буквально понять то, что пишите Вы, то небольшой не стык происходит.

Если я пишу html'ом в php, а этого сделать фактически невозможно, то ничего с переменной из php происходить не должно, а она волшебным образом изменяет свое значение.

Вот такое вот зрелище.

daslex 25.08.2015 01:35

Я не то, что не понимаю как писать. Я не знаю как это сделать.

daslex 25.08.2015 01:38

ясно. формулировка мне не очень понятна, но по-своему ответ скорее всего в общих чертах понял.

daslex 25.08.2015 01:53

А я не хотел говорить зачем, потому что просто привык уже к посылам в ajax,jquery.
Кликая по элементу, я в php должен передать какое-то значение, которое соответствует этому элементу.
Я пытался вот так вот решить, записывая значения в php переменную.

Необходимость такая иногда встречается из javascript в php значение отдать...

daslex 25.08.2015 02:16

Я что-то знаю, хотя очень многое и не знаю. Что это меняет?

daslex 25.08.2015 02:26

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

Вопросы типа: "Зачем это надо". "Может без переменной", никак не могут отразить мои познания.

А тот факт, что я понял непонятную мне формулировку, вообще фактом того, что я на что-то способен являться не может в принципе.

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

daslex 25.08.2015 02:34

Оттого, что я прочитаю как устроен http, я не смогу извлечь пользы.
Вот они, родимые, вот они посылы. javascript'еров.

И что я там должен увидеть такого, чего я не видел?

намек на скрытую форму и пост запрос?

daslex 25.08.2015 02:40

Мой вопрос полностью отражает мою проблему.
На мой вопрос был дан ответ. Мною ответ был принят и понят.

Какую задачу я должен был сформулировать?
Задача: "передать на сервер значение получаемое в javascript".

Эта задача выходит за рамки темы. Но тем не менее она была озвучена.
Неужели эта формулировка задачи столь непонятна, что ее никто понять не способен?
И это я не спрашивал как сделать, а отвечал на уточняющий вопрос.

laimas 25.08.2015 02:47

Цитата:

Сообщение от daslex
Как я пишу htmlом в php? Не понимаю. С моей т.з., я дописываю в html участок кода с php.
Я вообще не понимаю, как я могу писать Html'ом куда бы то ни было. Это язык гипертекстовой разметки, а не язык программирования.

Да у вас вообще ничего не делается - в одной этой строке

Цитата:

Сообщение от daslex
<div id="id2" onclick="document.getElementById('id').innerHTML = '<?php $val="id2";?>';">Два</div>

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

daslex 25.08.2015 02:50

laimas,
Я понял, что у меня там происходит, благодаря Rise, который мне пытался разъяснять.
____________
Естественно отсебятина, а чего Вы ожидаете от людей, которые что-то пытаются делать своими силами? Которым постоянно втирают о безмозглости, интересно.

daslex 25.08.2015 02:52

Цитата:

Сообщение от Rise (Сообщение 385489)
daslex, где была озвучена? первый раз слышу, вы хоть почитайте что вы пишите...

Пост17. Формулировка другая, но тем кто различает клиент и сервер, должна быть ясна.

daslex 25.08.2015 02:55

laimas,
Куча каких ошибок, за исключением того, что я php переменную не изменяю, а переписываю ее значение?

daslex 25.08.2015 03:03

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

И ничего я не пропустил. Кто не различает, тот не различает. Я различаю и не стоит фантазировать. Я больше отвечаю не по делу, чем по делу.

daslex 25.08.2015 03:10

Для начала меня не устраивает не ajax.
Меня не устраивают мои незнания javascript. Какой ajax, когда банального об javascript не знаю?
Что-то делал, не получается. Ошибся, спросил, научился.

Меня не устраивает то, что там выше в теме в моей отсебятине была куча ошибок, которые я никак понять не могу, а отвечать мне об этих ошибках никто не желает.

laimas 25.08.2015 03:16

Цитата:

Сообщение от daslex
Я понял, что у меня там происходит, благодаря Rise, который мне пытался разъяснять.

Нихрена у вас там не происходит. Вам сказали, что нет echo - вы спорите. А вообще-то вставлять в html при выводе лучше используя короткий php тег:

<p><?=$var?></p>

а не городить сложностей. Какие ошибки? Да вот такие - логическая, это в месте вставки заниматься присвоением значений без его использования, и ожидать какого либо результата. Сам подход к выводе подобных html-конструкций это опять "подход через известное место". Более того, данный подход говорит о том, что с исходными данными не все в порядке, ибо на 99% уверен, что это продолжение ранней темы.

Ну а про onclick умолчу.

daslex 25.08.2015 03:20

Вот же блин.

Вот картина.
<div id="id1">Кликни меня</div>


Я пользователь, интернетчик-красноглазик. Залез на сайт. Увидел: "Кликни меня". Кликнул на эту: "Кликни меня".

Сервер должен узнать то, что я кликнул именно на эту надпись, на: "Кликни меня".

daslex 25.08.2015 03:23

Цитата:

Сообщение от laimas (Сообщение 385502)
Нихрена у вас там не происходит. Вам сказали, что нет echo - вы спорите.
<p><?=$var?></p>

Я ни разу не спорил и не оспаривал с этим. Я всего-лишь имел ввиду, что мне не нужен вывод на экран. Это не является оспариванием и никак не доказательство того, что это правильно, а иначе неверно.

Короткий тег в php не всегда хорошо. Это я спорю. Такой же тег используется и не в php, из-за чего могут возникнуть небольшие проблемы.

laimas 25.08.2015 03:24

Это вы кому и о чем?

laimas 25.08.2015 03:25

Цитата:

Сообщение от daslex
Я ни разу не спорил и не оспаривал с этим. Я всего-лишь имел ввиду, что мне не нужен вывод на экран.

Вам что переписать все ваши сообщения по поводу echo?

Цитата:

Сообщение от daslex
Короткий тег в php не всегда хорошо. Это я спорю. Такой же тег используется и не в php, из-за чего могут возникнуть небольшие проблемы.

Даже так? Ну-ну. Спорьте на здоровье, я не намерен, ибо это глупо.

daslex 25.08.2015 03:27

Цитата:

Сообщение от laimas (Сообщение 385502)
Сам подход к выводе подобных html-конструкций это опять "подход через известное место".
Ну а про onclick умолчу.

Что ж поделать. Если людей заставляют думать, они думают. Чтобы им лучше думалось, они что-то делают. Так как они вынуждены думать сами, то и подходы у них будут не совсем правильные. А вы чего ожидаете? Готовых кодов мне никто не даст.

daslex 25.08.2015 03:31

Запрос в БД с условием. В условии как раз информация, которая соответствует этой надписи. Например 'id1' соответствует надписи: "Кликни меня".

В php создается запрос с WHERE id='id1'.

daslex 25.08.2015 03:35

А дальше сделал выборку данных в БД и вывел нужные значения на страницу с помощью php.

laimas 25.08.2015 03:40

Цитата:

Сообщение от daslex
Запрос в БД с условием. В условии как раз информация, которая соответствует этой надписи. Например 'id1' соответствует надписи: "Кликни меня".

В php создается запрос с WHERE id='id1'.

Вот это WHERE id='id1' сразу в помойку.

Цитата:

Сообщение от daslex
Так как они вынуждены думать сами, то и подходы у них будут не совсем правильные. А вы чего ожидаете?

Думать не с этого WHERE id='id1' надо начинать а со структуры данных. Нет ее у вас судя по условию запроса, значит вы торопитесь думать.

daslex 25.08.2015 03:44

Опять вы с этой структурой. Чем вас псевдокод запроса-то не устроил.
Вы когда возмущаетесь, давайте причины понять почему. А-то всё в помойку, всё не так, всё через задницу.

Чем Вас в моем запросе WHERE не устраивает?

daslex 25.08.2015 03:46

Цитата:

Сообщение от Rise (Сообщение 385513)
daslex, jquery подключена?

Нет. Я на сегодняшний день ближе к ajax без jQuery, чем к jQuery. Просто долго доходит с ним.

laimas 25.08.2015 03:57

Цитата:

Сообщение от daslex
Опять вы с этой структурой.

А вы как думали - написать хрен знает что в базу, и хрен знает по какому принципу и все ОК?

Первичный ключ как уникальный, уникальность которого формируется автоматически средствами sql уж никак не будет иметь значений id1.
Вы все продолжаете решать свою проблему с учебником? Так загляните еще раз в его оглавление, а оно говорит о том, что в нем есть раздел, подраздел... и до самой страницы. А это связи.

Не хотите думать, думаете что все делается быстро с шашкой наголо? Как хотите, но эта ваша попытка также кончится ни чем.

daslex 25.08.2015 03:59

Rise,
Просто это тема совсем по другому начиналась. Я не думал, что кто-то спрашивать будет.

То, что у меня там не получается, до этого я сам должен дойти.
То, что у меня с ajax есть, это можно сказать ничего сейчас нет.
В отдельный файл вынесена функция getXMLHttpRequest (ну та, что общая).
Есть HTML страница, пока что пустая, просто с подключением того файла.

А дальше меня laimas застращал. Боюсь все делать через задницу и выкидывать свои труды в помойку. Вот и не знаю как лучше.

daslex 25.08.2015 04:04

Цитата:

Сообщение от laimas (Сообщение 385517)
А вы как думали - написать хрен знает что в базу, и хрен знает по какому принципу и все ОК?

Первичный ключ как уникальный, уникальность которого формируется автоматически средствами sql уж никак не будет иметь значений id1.
Вы все продолжаете решать свою проблему с учебником? Так загляните еще раз в его оглавление, а оно говорит о том, что в нем есть раздел, подраздел... и до самой страницы. А это связи.

Не хотите думать, думаете что все делается быстро с шашкой наголо? Как хотите, но эта ваша попытка также кончится ни чем.


Давайте не будем придумывать то, чего нет.
Неужели Вы не понимаете, что id в этой теме я привел для примера, просто лишь бы как-то коротко написать меньше букв, больше смысла?

автоматически или не автоматически, я выбираю сам. Иногда удобно не автоматически.

Хватит меня поносить.

daslex 25.08.2015 04:13

Нужно защитить информацию от прямого захода.
Я плохо понимаю .htaccess и не помню почему еще я отказался от такого варианта. Помню только, что адрес страницы не хотел изменять.

laimas 25.08.2015 04:14

Цитата:

Сообщение от daslex
А дальше меня laimas застращал.

Я вас не стращаю, я предлагаю хорошенько подумать над тем, что и как вы будет держать в базе. Это есть начало любого веб приложения. До jQuery ой как еще далеко. Не обдумаете это, не помогут вам jQuery. А неудачная структура данных описанных в базе будет порождать проблемы.

То что в начале было вами представлено innerHTML=.... и я уверен, что это для получения страниц, а не картинок, то такие вещи (меню, навигация и т.п.) выводятся в цикле, и никак не старицей впихнутой в innerHTML, а как тег А с параметром запроса определяющим запрашиваемую страницу. Но кроме страницы придется определять еще для пользователя и местоположения ее, а это понятие "родитель", и у "родителя" могут быть тоже родители. А это называется деревом. Ну и так далее и тому подобное.

Это вы понимаете или нет? Это и есть оглавление учебника портированное в sql. Куда вы все блин торопитесь, прочитав пару строк и о языке, и таща на страницу от jQuery до прочего, и при этом изначально ни чего не имея?

laimas 25.08.2015 04:16

Цитата:

Сообщение от daslex
автоматически или не автоматически, я выбираю сам. Иногда удобно не автоматически.

Слов нет, у вас знания мизерные, а вы еще в позу становитесь. Да хрен в сами, пишите, но хлебнете вы еще горя со своим учебником с таким подходом к программированию.

daslex 25.08.2015 04:24

Я знаю, что у меня будет в БД. Она слишком примитивная. Одна таблица и туча значений в ней.
InnerHTML было всего-лишь неудачной попыткой одного из разных подходов. Я за этот способ ни разу не цеплялся. Не для получения страниц, а для получения точки на текущей странице, куда записать информацию.

ЭЭ, у меня ощущение, что Вы считаете, что я с нуля все делаю. Если так, то это заблуждение.

Двухуровневое дерево у меня. Типа "Нажал -> всё увидел". Не надо усложнять примитивизм.

laimas 25.08.2015 04:35

Я не знаю с чего вы начинаете, но зная, что у вас есть CMS, могу сказать, что в данном случае маетесь дурью, хотите обижайтесь, хотите нет, но это так при наличии готовой CMS.

Можно Бейсик описать примитивной таблицей и то с натяжкой, а уж Си, так это вряд ли.

А вы даже примитивную таблицу создаете по принципу "лишь бы", и при этом постоянно подчеркиваете, что это лучше.

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

Успехов, примитивистам. )

daslex 25.08.2015 04:46

В смысле лишь бы?
Мне нужна всего одна таблица. Зачем мне их плодить миллион? Убить хостера что ли?
Выдираемое содержимое этой таблицы на 100% похоже друг на друга смысловой нагрузкой. Зачем мне для этого обдумывать связи? Связи с чем? Придумывать себе проблемы?
Это как если у меня БД с таблицей Клиенты. В таблице клиенты колонка ФИО. Этих ФИО 1000, а я для них (для колонки ФИО) связи продумывать буду. Это смешно.

За исключением тех таблиц, которые созданы самой CMS мне сейчас другие не требуются.


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