Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.14.126.74] |
|
Сообщ.
#1
,
|
|
|
Добрый день. Вопрос следующий, знатокам покажется наверное глупым, но как сделать, я что-то недопонимаю. На форме есть кнопка, например Button1. У нее событие OnClick на JS. Перед ?> //begin js .... написан некоторый php код. И вот при старте страницы, он обрабатывается, а хотелось бы, чтоб он только сработал, когда будет нажатие на кнопку. Очень замедляет открытие страницы при первом запуске. Можно, это как то сделать. Поточнее скажу, что в коде передается маcсив из PHP в JS, при этом данные запрашиваются с нета. Но это может вообще не понадобится, поэтому хотелось бы, чтоб данная процедура срабатывала только по нажатию. Или делать типо через Ajax? Ajax правда не быстро работает, может конечно из-за запущенного RADphp....Спасибо.
|
Сообщ.
#2
,
|
|
|
Цитата lexastik @ И вот при старте страницы, он обрабатывается, а хотелось бы, чтоб он только сработал, когда будет нажатие на кнопку событие js в RadPHP это функция, которая будут выполняться на стороне клиента в браузере, а в браузере php не выполниш, т.к. он выполняется на стороне сервера Всё, что пишеш на php в событии js или бессмысленно или должно генерировать код для будущей функции js. например: // получение значения tag для ButtonView в php и в javascript function ButtonView1JSClick($sender, $params) { echo 'var xxx='.$params[tag]; ?> //Add your javascript code here tag=event.getTarget().tag; alert("Button Tag ID:" + tag + " clicked"+xxx); <?php } Цитата lexastik @ Очень замедляет открытие страницы при первом запуске это скорее всего из за особенностей того, что там написал должно нормально работать Цитата lexastik @ Или делать типо через Ajax? нормальный вариант если нужно без обновления страницы |
Сообщ.
#3
,
|
|
|
А ajax тоже должен моментально работать?
Насчет медленности при 1м старте согласен, там запросы к базе идут. PHP в событии JS формирует данные для этой функции, просто пользователь может кнопку никогда и не нажать, поэтому и подумал, что не надо это делать каждый раз при запуске. Спасибо. Немного стало понятно, попробую убрать эти моменты на вызов через Ajax. vicis, подскажи, пожалуйста, такой вопрос: на странице 5 DBGrid, для каждого свой Datasource и соотв у каждого Datasource свой Query. Но все Query используют 1 коннект к БД. Число Query и то, что они используют 1 коннект к БД влияет на производительность? |
Сообщ.
#4
,
|
|
|
Цитата lexastik @ Число Query и то, что они используют 1 коннект к БД влияет на производительность? увеличение числа чего либо всегда влияет на производительность 1. один коннект это правильно 2. число Query это всего навсего число запросов. Если в запросе ты напишеш select * from world_dogs, а там записей будет под миллиард, и текстовых полей штук сорок, то получаеш тормоз уже только на этом запросе, не говоря уже о том, что всю эту информацию нужно визуализировать в браузере, который и без запросов к базе данных умрёт на странице большого объёма... Короче, всё, что можно, нужно минимизировать по максимуму, т.к. в этих технологиях грабли разложены под каждым кустом |
Сообщ.
#5
,
|
|
|
СПАСИБО!
|