繁体   English   中英

一个表单在codeigniter中提交Action控制器

[英]One Form Submit Action controller in codeigniter

我有一个表单,在点击提交时,该值应传递给codeigniter中的2个控制器

这是我的表格

<?php echo form_open('Test/form_1')?>  <?php //echo form_open('Test/form_2')?>
    <input name="fname"  type="text" />
    <input name="Lname"  type="text" />
    <input name="Sname"  type="text" />
    <input type="submit"  value="Continue">
<?php echo form_close(); ?>  

控制器1

function form_1 ()  {
    // do something 
}

function form_2 ()  {
    // do something 
}

我需要这样的东西:

<?php echo form_open('Test/form_1'),('Test/form_2')?>  

我知道它的错误,但它如何在codeigniter完成

如果你试图这样做是不可能发送一个双重动作有另一种方式来看到这个例子

<?php echo form_open('Test/form_1')?>  
    <input name="fname"  type="text" />
    <input name="Lname"  type="text" />
    <input name="Sname"  type="text" />
    <input type="submit" name="yes" value="Continue">
    <input type="submit" name="no"  value="cancel">
<?php echo form_close(); ?>

调节器

    function form_1 ()  {
     if(isset($_POST['yes'])){
        // do some thing or send to another function
     } elseif (isset($_POST['no'])) {
        // do some thing or send to another function
     }
   }

您可以执行以下操作:

  • 将表单提交给form_1
  • 在那里执行你需要的任何动作
  • form_1调用form_2 (作为内部函数)。 form_2中,您可以拥有一个标志,这样您就不会渲染视图,而是将某些值返回给form_1

你可以使用ajax功能

$('#form_id').on('submit', function() {
    if ($(this).valid()) {
        var form  = this;
        var formData = new FormData(form);

        $.ajax({
            url : '<?php echo site_url("test/form_1"); ?>',
            data: formData,
            type: 'POST',
            success: function (data) {

            }
        });
        $.ajax({
            url : '<?php echo site_url("test/form_2"); ?>',
            data: formData,
            type: 'POST',
            success: function (data) {

            }
        });
    };
    return false;
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM