ajax форма в codeignitter - отправка сгенерированной формы - PullRequest
0 голосов
/ 20 сентября 2018

Я хочу открыть модальное и получить содержимое (формульное) из контроллера.

Эти шаги работают нормально.

Теперь у меня есть формульное внутри модального.Как я могу отправить эти формы и обработать их с помощью одной и той же функции контроллера?

В данный момент я выполняю Ajax-Call таким образом

$('.modaldisconnect').click(function(){
                var modid = $(this).attr('modid');
                $.ajax({
                    url: "<?php echo base_url() ?>admin/module/disconnect_form",
                    method: "POST",
                    data: {modid:modid},
                    // Callback function that is executed after data is successfully sent and recieved
                    success: function(data){
                     // Print the fetched data of the selected phone in the section called #phone_result 
                     // within the Bootstrap modal
                        $('.modal-ajax-content').html(data);
                        // Display the Bootstrap modal
                        $('#disconnect_modal').modal('show');
                    },
                        error: function(error){
                        // Show error message
                        alert('error');
                            }
             });
            });

Это форма, которая будет сгенерированаиз контроллера по вызову выше

echo'   <div class="modal-body">
                <div id="modul_disc_infos">
                    <span class="module-headlines-title">'._l("modul_name").': <span id="disc_modulname">'._l('module_'.$result->folder.'_titel').'</span></span>
                    <span class="module-headlines-subtitle">'._l("modul_disconnect_deadline").': <span id="disc_enddate">'.$enddate.'</span></span>                 
                </div>
                <div id="modul_disc_check">
                    <div class="alert alert-danger" role="alert">'._l("modul_disconnect_disclaimer").'</div>
                    <hr>
                    <input type="checkbox" name="check_disclaimer" value="1"> '._l("modul_disconnect_disclaimer_check").'   
                    <input type="hidden" name="modid" value="'.$this->input->post('modid').'">
                    <input type="hidden" name="formstep" value="1">                 
                    '.$errormsg.'               
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">'._l('close').'</button>
                <button type="button" class="btn btn-danger" id="submit_disconnect" >'._l('modul_disconnect_now').'</button>
            </div>';

Кстати - есть ли лучший способ разбирать значения формул вместо одного за другим, как в моем коде "var modid = $ (this) .attr( 'modid'); "

1 Ответ

0 голосов
/ 21 сентября 2018

Я решил, что таким образом я делаю 2 разных вызова ajax, начиная с щелчка или отправки в форме или определенной кнопке.Один вызов генерирует форму, один вызов обрабатывает форму.Для меня это работает, и это немного гибко, чтобы использовать одни и те же функции для разных задач.

//Formular for disconnection
            $('.modaldisconnect').click(function(){
                var modid = $(this).attr('modid');
                $('#ajax_modal_title').html('<?php echo _l('modul_disconnect'); ?>');

                $.ajax({
                    url: "<?php echo base_url() ?>admin/module/disconnect_form",
                    method: "POST",
                    data: {modid:modid},
                    // Callback function that is executed after data is successfully sent and recieved
                    success: function(data){
                     // Print the fetched data of the selected phone in the section called #phone_result 
                     // within the Bootstrap modal
                        $('.modal-ajax-content').html(data);
                        // Display the Bootstrap modal
                        $('#ajax_modal').modal('show');
                    },
                        error: function(error){
                        // Show error message
                        alert('error');
                            }
             });
            });

      //Handle the disconnection  
        $("#ajax_form").on("submit", function (event) {
        event.preventDefault();
        subform=$('input[name="subform"]').val();
        $.ajax({
            url: "<?php echo base_url() ?>admin/module/"+subform+"_form",
            type: "POST",
            data: $('#ajax_form').serialize(), 
            success: function(result){
                $('.modal-ajax-content').html(result);
            },
                        error: function(error){
                        // Show error message
                        alert('error');
                            }
        });
    });        
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...