2016-05-26 40 views
1

我有一個形式,在點擊提交值應該傳遞給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

+0

你可以做到這一點使用ajax,將發送請求發送到第一個URL,成功時首先您也可以發送第二個請求。 –

回答

0

來完成,這是不可能送一個雙重作用,如果你想這樣做還有另外一個方法來此看例子

實施例

<?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 
    } 
    } 
0

你可以做到以下幾點:

  • 提交您的形式form_1
  • 執行你需要什麼都行動有
  • 呼叫form_2form_1(作爲內部功能)。在form_2你可以有一個標誌,以便你不渲染視圖,而是返回一些值回form_1
0

你可以使用一個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; 
});