![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BlackRu |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
Вопрос такой.
Скрипт PHP выполняет некие действия. Происходит вызов скрипта JS для закрытия окна. Скрипт JS лежит в отдельном файле и вызывается так:
Содержимое скрипта:
1. Можно ли в вызвать скрипт через
несколько раз? Если, допустим, идет ряд проверок, при которых должен вызываться скрипт. 2. Имеет ли значение имя скрипта с js кодом?' winclose.htm или winclose.php? 3. Если скрипт JS лежит в winclose.php, следует ли оформлять его так:
И тогда вызывать после уже через переменную? Это сообщение отредактировал(а) BlackRu - 30.6.2014, 12:55 -------------------- Удалена администрацией форума |
||||||||
|
|||||||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
BlackRu, php исполняется на web-сервере, a js - на клиенте (в браузере). непосредственной связи между их исполнением нет. результат деятельности php - html, который будет интерпретироваться браузером. если это стало понятно, вы на все вопросы сможете ответить сами. |
|||
|
||||
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
baldina, вопрос не о том, что выполняется сервером, а что браузером.
Вопрос об оформлении. Скрипт PHP закончил свою работу, сработал JS. Вопрос в том, как включен скрипт в страницу. Дублировать ли require_once 'winclose.htm'; после каждой проверки? Или использовать переменную? Если я включаю скрипт JS в самое начало страницы, то при ее открытии, браузер ее сразу же закроет (так как скрипт выполняется на стороне клиента). Но при require_once 'winclose.htm'; единожды, php все равно продолжит работу. Это сообщение отредактировал(а) BlackRu - 30.6.2014, 14:19 -------------------- Удалена администрацией форума |
|||
|
||||
| _zorn_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1076 Регистрация: 21.8.2007 Репутация: 6 Всего: 12 |
Подсказать отличия require_once от require ? А для
лучше наверное использовать include. Он вызывается на этапе выполнения, в отличии от require который по сути делает copy/paste указанного файла в место вызова require ДО компиляции в байт код. |
|||
|
||||
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
Но в конечном счёте, даже если сделано так: ===Тело скрипта==== Условие require_once Условие 2 require_once Условие 3 require_once ===Конец тела скрипта=== Файл все равно включен один раз и уже во время исполнения копируется в нужное ? Или включает три раза потом транслирует, что как-то ближе к реальности Не очень понятен механизм. Это сообщение отредактировал(а) BlackRu - 1.7.2014, 10:59 -------------------- Удалена администрацией форума |
|||
|
||||
| _zorn_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1076 Регистрация: 21.8.2007 Репутация: 6 Всего: 12 |
Нет. После первого срабатывания _once все остальные будут игнорироваться с тем же файлом/аргументом. Причем require сработает ВНЕ ЗАВИСИМОСТИ от условий. Лажанулся. Видимо раньше так было (в бородатых годах Это сообщение отредактировал(а) _zorn_ - 1.7.2014, 11:04 |
|||
|
||||
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
_zorn_, т.е. как это вне зависимости от условий! Привожу пример для наглядности (так как задачи всегда лучше решать определенные):
Файл первый содержит ссылку: <a href="something.php" target="_blank"> Важно, что открывается новое окно. Файл something.php содержит код:
Если А равно B - окно закрылось. Если А не равно B соответственно происходит то, что должно. Код закрытия не срабатывает. Это сообщение отредактировал(а) BlackRu - 1.7.2014, 11:32 -------------------- Удалена администрацией форума |
|||
|
||||
| baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
BlackRu, первая (серверная) часть у вас примерно такая
http://ideone.com/Q8hmhs к закрытию окна она не относится, вы лишь генерируете html когда вы её отладите и результат вам понравится, отлаживайте клиентскую часть, в которой и будет закрытие окна, типа http://jsfiddle.net/exFxP/ Добавлено через 4 минуты и 21 секунду что касается require и проч, лучше напишите функцию
и вызывайте у себя
еще лучше поместите javascript в отдельный файл .js и подключайте |
||||
|
|||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Изначально логика неправильная.
PHP должен выполнять свои функции, а JS свои.. Что за такие действия выполняет PHP? после которых должен вызваться JS который закроет страницу? Страница то формируется вообще и что там? Добавлено через 1 минуту и 33 секунды Вот именно. JS-скрипт должен подключать HTML, а не PHP -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| BlackRu |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
baldina, не подумал об этом. же js. Спасибо.
У меня так было изначально, но мне этот вариант не по душе. Условий закрытия окна минимум три, повторять каждый раз код не хочется. Gold Dragon,
Например, PHP проверяет заполнены ли все поля, если поле не заполнено, окно нужно закрыть. C функцией понял. Это сообщение отредактировал(а) BlackRu - 1.7.2014, 16:35 -------------------- Удалена администрацией форума |
||||
|
|||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
||||
|
||||
| BlackRu |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
Это условно. Я понимаю, что проверку заполнения можно доверить JS. И это, наверное, правильнее, чем дергать каждый раз сервер. Но реально поле одно. Проверятся длина введенных символов, т.е. совершенно неважно, что в нем будет, главное, чтобы было нее менее опр. количества. Я хочу как можно меньше JS, задача все минимизировать, разметку, дизайн. Отказ от функционала в пользу максимально минимализма. Совсем страшно, что при неправильно заполненной форме, страница, с которой происходит вызов, обновляется в итоге. И данные пользователю придется вводить снова
Да, наверное лучше так. Это сообщение отредактировал(а) BlackRu - 1.7.2014, 20:29 -------------------- Удалена администрацией форума |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |