Вам необходимо внести изменения в обработчик формы и JavaScript, чтобы сумма обновлялась в зависимости от значения в поле ввода `payday`. В вашем текущем коде вы всегда возвращаете фиксированное значение `price`, не учитывая количество дней, введенное пользователем.
Вот шаги, которые нужно выполнить для правильного обновления суммы:
1. **Измените PHP код**, чтобы он умножал количество дней на цену:
```php
if ($go) {
$aData = array();
$days = isset($_POST['payday']) ? (int)$_POST['payday'] : 1; // Приведение к числу
$price_per_day = 50; // Цена за день
$total_price = $days * $price_per_day; // Общая сумма
// Здесь можно возвращать общую сумму
sys::outjs(array('sum' => $total_price));
}
```
2. **Измените JavaScript функцию** для отправки корректных данных на сервер:
Необходимо убедиться, что вы вызываете `$.getJSON`, используя значение из поля, и что сервер правильно обрабатывает этот запрос.
```javascript
function upd_price() {
var paydayValue = $('#payday').val(); // Получаем значение из поля input
$.getJSON(home + 'domen/page/payday/' + paydayValue + '/get/price', function (arr) {
$('#sum').html(arr['sum']); // Обновляем элемент с id="sum"
});
}
```
Таким образом, когда пользователь изменяет значение в поле `payday`, функция `upd_price()` будет отправлять запрос с актуальным количеством дней, и PHP обработчик будет возвращать соответствующую сумму.
3. **Не забудьте про валидацию**: Вы можете добавить проверки на неотрицательное число и т.д., чтобы гарантировать корректные входные данные.
Теперь при изменении значения в поле количество дней будет пересчитано на основании установленной цены, и сумма будет отображаться корректно в элементе с id `sum`.