Выполнение расчетов на стороне сервера и клиента

1

У меня три переменные. Два являются серверной частью базы данных:

$base_duration = $arr['adzone_buyandsell_duration']

а также

$base_price = $price['price']

оба являются int. Третий будет вводиться пользователем: <input type="text" name="duration" value=""> Мне нужно предварительно выполнить вычисление: $cal_price = $base_duration/$base_price * user_input мне нужно иметь возможность перейдите $cal_price назад, чтобы иметь возможность взимать с пользователя правильную цену. Я довольно хорошо знаком с php, но не знаю, как выполнить этот расчет в режиме реального времени, а не при отправке формы.

  • 1
    Аякс твой друг. api.jquery.com/jquery.ajax
  • 0
    Он не уточнил, что он использует JQuery, но да, чтобы AJAX
Показать ещё 8 комментариев
Теги:

1 ответ

2
Лучший ответ

Когда первые два значения изменяются только при загрузке или обновлении страницы, нет необходимости в вызове AJAX.

Добавьте на свою страницу следующий код:

<script>
$('document').ready(function(){
       $('#duration').change(function(){
          var base_duration = <?= $arr['adzone_buyandsell_duration'] ?>;
          var base_price    = <?= $price['price'] ?>;
          var userInput     = $('#duration').val();
          var cal_price     = base_duration / base_price * userInput;

          $('#calPrice').html(cal_price); 
       });
});
</script>

Он добавит вычисленный результат в div с id calPrice и вы должны calPrice поле ввода duration id

Я создал jsFiddle для вас, чтобы увидеть код в его полной славе. Я просто использовал фиктивные данные для ваших переменных php.

https://jsfiddle.net/03e3t137/

Убедитесь, что вы добавили jQuery на свою страницу, добавив следующую строку в <head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

  • 0
    Пожалуйста, предоставьте пример без использования JQuery, так как в этом случае это не обязательно.
  • 0
    я не против использовать jquery, так как он уже загружается на моем сайте
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню