@Bodrosh

Как работать с классами через Ajax?

Здравствуйте. Скажите , пожалуйста, как можно организовать следующий алгоритм работы:

Пользователь выбирает радиокнопкой Вид продукции: Окна, Двери, ...
<form method="POST" id="form-product-type">
                Вид продукции?
                <input type="radio" name="product-type" value="window" />Окна
                <input type="radio" name="product-type" value="door" /> Двери
            </form>

Сейчас при клике на Окна ajax-ом отправляется value="window" на файл, в котором подключается класс WindowController, создается его экземпляр и вызывается метод PrintWindowForm(), который выводит список вопросов для окон (поля формы). (аналогично для дверей и др. продукции). Данные выводятся на той странице, откуда вызывались
Код Ajax
jQuery('document').ready(function() {
        jQuery('#form-product-type input:radio[name=product-type]').change(function(){
            product_type = jQuery(this).val();
            jQuery.ajax({
                url:"/new-product-type.php",
                type: "POST",
                context: this,
                data: {
                    product_type:product_type,
                },
                success: function(responce){
                    jQuery('.main.row.row-min #main-content').html(responce);
                }
            });
        });
    });



Т.е. выводится как нужно. Но как теперь эти данные, введенные пользователем, сохранить? Логично создать метод сохранения в классе и в его свойства записывать результат.
Но ведь того созданного объекта уже нет (мы на другой странице, ajaxом запрашивали данные)? это повторно нужно создавать объект этого класса и тогда уже можно будет обращаться к этому методу?
Или как-то по другому нужно организовать алгоритм?

68f954b02cd44138afbf181436fc855a.png

И как можно организовать возможность добавления других продуктов ? Т.е. была бы кнопка добавить конфигурацию и пользователь мог снова выбрать окно или дверь с другими параметрами.
57851710a1c54e6eb0feff9c33fa20e1.png
Спасибо за внимание.
  • Вопрос задан
  • 461 просмотр
Пригласить эксперта
Ответы на вопрос 2
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
Так а что мешает сохранять данные сразу?
$user_data=[];
if (isset($_POST['product-type'])) $user_data['product-type']= $_POST['product-type'];


Тогда при каждом Аяксе массив будет наполняться клиентскими данными. Только нужно по сессиям разделить.
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
У вас по кнопочке аяксом подгружается форма? Зачем? Вы что-то введенное пользователем получаете?
Аякс нужен там, где заранее сформировать какие-то элементы нет возможности, или вариантов слишком много, в данном случае всего 2 формы, с заранее известными параметрами, нет смысла для этого аякс прикручивать. Делаете 2 формы, даете атрибут хиден, по выбору кнопочки показываете нужную форму. При заполнении формы уже можете аяксом отправить пользовательский ввод, но можно и просто субмитом обойтись, по вкусу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы