php - 如何使用 jquery 对话框按钮提交表单?

标签 php javascript jquery ajax codeigniter

大家好,我想问一下如何使用 jquery 对话框按钮处理表单提交。在我的代码中,我有一个按钮,当您单击时。它将在对话框中弹出一个表单。下面是用于确定和取消的 jquery 按钮。我的问题是我无法提交表单,唯一的选择是在表单内创建一个提交按钮。但我想用 jquery 按钮代替。我正在使用 CodeIgniter,希望你能帮助我。

我的观点(showAllSuppliers.php)

 /* FOR ADD PAGE */    
    $(".hero-unit input[name=add_supplier]").on('click',function(){
        $('#popup').load("<?php echo site_url("supplier_controller/addNewSupplier/"); ?>").dialog({
            title: "Add New Supplier",
            autoOpen: true,
            width: 800,
            modal:true,
            position: "center",
            buttons: {
                OK: function(){
                     $("#addSupplier").submit(); //HOW CAN I SUBMIT MY FORM USING THIS?
                },
                CANCEL: function() {
                    $(this).dialog( "close" );
                }
            }
        });
    });

我的表单(addNewSupplier.php)

<?php
$attr = array('id'=>'addSupplier');
echo form_open('supplier_controller/insertNewSupplier');  
..
.. 
..
... MY TEXTBOX FIELDS HERE
..
..
//echo "<input type='submit' value='ADD' />"; ANOTHER OPTION FOR SUBMISSION
echo form_close();
?>

我的 Controller 函数(supplier_controller.php)

 public function insertNewSupplier(){

        $this->supplier_model->insertNewSupplierDetail();
        redirect('supplier_controller/index','refresh');

 }

最佳答案

尝试改变这一行和你常用的js:

$attr = array('id'=>'addSupplier');
echo form_open('supplier_controller/insertNewSupplier', $attr);

如果仍然没有提交表单,则尝试通过ajax调用提交。

$(".hero-unit input[name=add_supplier]").on('click',function(){
    $('#popup').load("<?php echo site_url("supplier_controller/addNewSupplier/"); ?>").dialog({
        title: "Add New Supplier",
        autoOpen: true,
        width: 800,
        modal:true,
        position: "center",
        buttons: {
            OK: function(){
                 $.ajax({
                    url     : '<?=base_url()?>supplier_controller/insertNewSupplier',
                    type    : 'POST',
                    data    : $("#addSupplier").serializeArray(),
                    success : function(resp){
                        alert("Submitted !!!");
                        $(this).dialog( "close" );
                    },
                    error   : function(resp){
                        //alert(JSON.stringify(resp));
                    }
                 });
            },
            CANCEL: function() {
                $(this).dialog( "close" );
            }
        }
    });
});

关于php - 如何使用 jquery 对话框按钮提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17801099/

相关文章:

javascript - 当 autoProcessQueue 设置为 false 时,Dropzone.js 只上传两个文件

php - 如何统计多维数组的值属于某个键?

javascript - 根据输入框选项选择下拉选项

javascript - 如何从 Angular js 中的指令调用 Controller 函数?

jQuery - CSS 下拉多级菜单动画

javascript - 在剑道网格行和列中

php - 使用 PHP 文件功能在另一台服务器上创建文件

php - 从重定向 URL 进行 Canvas 应用导航

javascript - 过滤后如何使用原来的Backbone集合?

javascript - heroku 没有构建我的 webpack 应用程序