![]() |
Как сделать выполнение кода PHP на одной страничке?
Здравствуйте.
На страничке есть 6 калькуляторов, расположены они по вертикали, следовательно страничка скроллится вниз. Так же на страничке 6 форм, для каждого калькулятора в формах прописано: method="post" action="calc_php_от 1 до 6.php". Проблема в следующем: Например, прокручиваю страничку вниз до шестого калькулятора, нажимаю кнопку «расчет» (<input type="submit" />) и после этого у меня открывается уже другая страничка, прописанная в action. В итоге получается, что человек нажал «расчет» в самом низу странички и после расчета ему открывается эта же страничка, только она уже в самом верху и каждый раз надо скроллить вниз, чтобы посмотреть результат… Вопрос: Можно ли как-нибудь сделать так, чтобы была одна страничка с калькуляторами (т.е. формы для заполнения и кнопка «расчет»), а вычисления выполнялись в отдельном или в этом же php файле и уже из php файла передавались на страничку с калькуляторами, в определенные поля без смещений? Подскажите, пожалуйста, как можно решить эту проблему. P.S. В книжках по PHP, которые есть у меня, везде описываются варианты где при клике на кнопку открывается новое окно с результатом… |
Самое простое это <a name="calc6"> и редирект на script.php#calc6. Можно сделать и лучше, - через AJAX, но это при условии наличия опыта в JavaScript.
|
Можно скрипту передавать номер калькулятора который был нажат, потом грузиться страницу и в нее впихивать кусочек кода на JS, чтоб браузер пролистывал к нужному калькулятору.
|
согласен с RaZEr
Тебе надо сделать в каждой форме method="post" action="script.php#calc_1 до 6" где script.php - название самой формы с калькуляторами в самом скрипте повставлять якоря с id="calc_1 до 6". Якоря можно вставлять в таблицу или специально поставить div для каждого. Естественно якоря надо ставить чуть выше того места где изображается соответствующий калькулятор. |
Если делать через: method="post" action="script.php#calc_1 до 6" где script.php - название самой формы с калькуляторами - то почему-то не происходит перехода на якорь...
Сделал через JS переход на якорь, но почему-то не всегда срабатывает переход. Потом в JS скрипт дописал, чтобы переход осуществлялся с задержкой. Т.е. прописал в onLoad функцию из скрипта для перехода на якорь и в скрипте поставил задержку в 2 секунды. Теперь переходит... Подскажите, пожалуйста, так и должно быть или в чем-то другом проблема? |
Если js вызывается до того, как загрузилась страница, то возможно что сама закладка ещё не создалась (код описывающий её не загрузился). По сути должно работать если js вызывать в самом конце страницы, но также можно прописать чтобы срабатывало по onload.
|
2 RaZEr
Это понятно, что пока не загрузилась странички, то и переходить некуда :) Через JS все, работает. Тогда получается, что использование method="post" action="script.php#calc_1 до 6" бесполезно? Вся проблема, что используя такой способ, у меня не происходит переход на якоря... |
Да, возможно что внутри action он закладку не подхватывает. Попробуй простой редирект: document.location.href = 'script.php?arg61='+document.getElementById('arg61')+'&arg62='+documen t.getElementById('arg62')+'&act=sum#calc_6';
|
Можно сделать проще.
В самом низу страницы вставлять ява скрипт который ставит фокус на нужный калькулятор. скрипт будет срабатывать в самом конце, калькуляторы уже загружены. |
...о чём было сказано двумя сообщениями выше.
|
| Часовой пояс GMT +4, время: 01:21. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.