[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Динамическое изменение данных перед Post
Страницы: 1, 2
NLB
<?
$baseSum = 100;
$enterSum = 100;

$result = $baseSum+$enterSum;
?>

<html> <head> <title></title> </head>
<body>
<form
action="calculate.php" method="post">
<input
type="text" name = "Summ" value="<?=$enterSum?>" >
<p><input
type="submit" value="Отправить"></p>
</form>
</body>
</html>


Здравствуйте! Помогите пожалуйста с задачей.
На сайте пользователь в поле input может ввести любую интересующую сумму.
Ниже кнопка отправить. Мне необходимо по клику на отправить, выполнить post запрос к файлу calculate.php Но с учетом суммы которую вписал пользователь + некая базовая сумма
которая уже получена выше в пхп коде.

Иными словами нужно динамически изменить $result пересчитав его и отправить постом в качестве name = "Summ" без перезагрузки страницы и дополнительных пост\гет запросов.
Вариант юзать аякс или повесить событие OnClick на кнопку и передав все в js скрипт, а оттуда уже выполнить пост запрос не подходит.
sergeiss
Это смотря как была получена эта "базовая сумма". Если она была рассчитана при формировании страницы ПХП на сервере, то ты можешь ее сохранить в сессии. На страницу при этом можно передать некий айдишник, соответствующий именно этой сумме, который сохранить в той же форме, но в hidden инпуте.
При возврате на сайт смотришь, какая сумма соответствует айдишнику, и добавляешь ее.
Вуаля smile.gif - JS не задействован.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
NLB
Можно задействовать Js но только пост чтобы выполнялся именно этим путем
Базовая сумма формируется только на этой странице. При загрузке странички.
Больше ее нигде нет.
icedfox
с Js у вас огромное поле деятельности. Или вы хотите готовый код получить ?
NLB
Цитата (icedfox @ 16.01.2016 - 07:55)
с Js у вас огромное поле деятельности. Или вы хотите готовый код получить ?

Был бы очень признателен помощи. Сам в js не очень.
NLB
unsure.gif
inpost
NLB
Не знаешь JS ? Самое время изучить его: learn.javascript.ru , за недельку как орешки такие задачки будешь щёлкать.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
NLB
Требуется помощь в решении задачи. Помогите пожалуйста.
icedfox
NLB, озвучьте пожалуйста бюджет, что бы было интересно все за вас сделать и вам отдать.
NLB
Цитата (icedfox @ 16.01.2016 - 20:36)
NLB, озвучьте пожалуйста бюджет, что бы было интересно все за вас сделать и вам отдать.

Друг, будь добр, поищи бюджеты за пределом моей темы. Спасибо.
arbuzmaster
Могу только подсказать как из php в javascript передать переменную

echo "var baseSum =".$baseSum ;

или так

var baseSum =<?php echo $baseSum; ?>;

Остальное сделаете сами, задача очень простая и найти в интернете её решение вполне по силам. Уж операции сложения практически во всех языках похожи. А смысл следующий: при нажатии на кнопку вы можете получить значение указанное пользователем в input, затем сложит его с вашим и отправить на сервер. А чем Вас собственно не устраивает вариант со скрытым input- ом предложенный в первом ответе?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
sergeiss
NLB, у нас на форуме издревле очень простая система: если ты делаешь сам, то тебе помогут и подскажу, исключительно "за спасибо". Но вот если "сделайте за меня" - для этого есть специальный раздел форума, где ты можешь озвучить задачу и сколько ты готов заплатить за это.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
NLB
Цитата (arbuzmaster @ 16.01.2016 - 21:19)
Могу только подсказать как из php в javascript передать переменную
<pre class="sh_sourceCode" rel="php">
<span class="sh_function">echo</span> <span class="sh_string">"var baseSum ="</span><span class="sh_symbol">.</span><span class="sh_variable">$baseSum</span> <span class="sh_symbol">;</span>
</pre>
или так
<pre class="sh_sourceCode" rel="js">
<span class="sh_keyword">var</span> baseSum <span class="sh_symbol">=<?</span>php echo $baseSum<span class="sh_symbol">; ?>;</span>
</pre>
Остальное сделаете сами, задача очень простая и найти в интернете её решение вполне по силам. Уж операции сложения практически во всех языках похожи. А смысл следующий: при нажатии на кнопку вы можете получить значение указанное пользователем в input, затем сложит его с вашим и отправить на сервер. А чем Вас собственно не устраивает вариант со скрытым input- ом предложенный в первом ответе?

Спасибо люди добрые кто участвует в обсуждении без ганараров. Не все значит еще потеряно в этой стране.

1. Я получаю значение которое ввел пользователь, повесив на кнопку событие OnChange
и передаю его в js.
2. Я получаю значение basesum в js
3. Я делаю в js все необходимые мне операции.
4. А как вернуть и обновить значение result ? Чтоб при нажатии на отправить ушла уже обновленная переменная. Как только не пытаюсь уходит старое значение в post.
Я полагаю ввиду того что пользователь уже открыл скраничку и эта переменная уже сформировалась. Пост из js отправить нельзя.
NLB
<?
$baseSum = 100;
$enterSum = 100;
$result = $baseSum+$enterSum;
?>

<html> <head> <title></title> </head><body>

<script
type="text/javascript">
function
updateSumm(baseSum) {
var userSum = document.getElementsByName('Summ').value;
var Result = baseSum + userSum;
}
</script>


<form
action="calculate.php" method="post">
<input
type="text" name = "Summ" value="<?=$enterSum?>" onchange="updateSumm(<?$baseSum?>)" >
<p><input
type="submit" value="Отправить"></p>
</form>
</body>
</html>
AllesKlar
var userSum = document.getElementsByName('Summ').item(0);
userSum.value = parseFloat(userSum.value) + baseSum;

Цитата (NLB @ 17.01.2016 - 05:41)
Спасибо люди добрые кто участвует в обсуждении без ганараров. Не все значит еще потеряно в этой стране.

Бросай ты нахрен это программирование. Это не твое. Иди в политику, у тебя отлично получается пиз@@болить.
Тебя может реабилитировать только одно: если окажется, что тебе всего 10 лет, т.к. слова "ганараров" нет в русском языке.

_____________
[продано копирайтерам]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.