Codeignitter中的Ajax表单-发送生成的表单

时间:2018-09-20 18:41:11

标签: ajax codeigniter

我想打开一个模态并从控制器获取内容(公式)。

此步骤可以正常工作。

现在我在模态中有公式化器。我如何提交这些公式并使用相同的控制器功能对其进行处理?

此刻,我以这种方式进行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 :(得分:0)

我已经解决了这种方式,我可以进行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');
                            }
        });
    });