2015-12-03 111 views
3

我想創建2個表單提交,第一個保存數據按鈕,第二個備份按鈕。 如果我點擊'保存數據'按鈕,它的工作,但如果我點擊'保存數據作爲備份'它不工作。2表單提交相同的數據

如何使用此代碼將數據保存爲備份?

<?=form_open('action/saveData')?> 
<?=form_open('action/saveDataasBackup')?> 
<label>Your Name</label> 
<input type="text" name="name" placeholder="Your Name"> 
<input type="submit" value="Save Data"> 
<?=form_close();?> 
<input type="submit" value="Save Data as Backup"> 
<?=form_close();?> 

還是要謝謝你

回答

4

形式不能嵌套HTML5 working draft

我會建議你在這種情況下,使用單一的形式。當您收到後臺的表單時,您可以檢查天氣以保存數據或將其備份。您可以通過添加name屬性來實現此功能。您的形式是這樣的:

<?=form_open('action/saveData')?> 
<label>Your Name</label> 
<input type="text" name="name" placeholder="Your Name"> 
<input type="submit" name="save" value="Save Data"> 
<input type="submit" name="backup" value="Save Data as Backup"> 
<?=form_close();?> 

在控制器的方法,您可以檢查這樣的:

if(isset($_POST['save'])){ 
    //perform save operation 
} 
if(isset($_POST['backup'])){ 
    //perform backup operation 
} 
0

只在結束使用以下命令行只有一次。

<?=form_close();?> 
+0

沒有Raja,它不會工作。因爲,嵌套'

'是不允許的。 –

1

表單不能嵌套。您可以使用ajax或任何其他方法來實現此目的。

0

你不能在表單內單獨形式或單獨使用javascript,並改變動作然後提交。

0

儘管可以在一個HTML頁面有幾個要素,你不能嵌套他們。

<?=form_open('action/saveData')?> 
<label>Your Name</label> 
<input type="text" name="name" placeholder="Your Name"> 
<input type="submit" name="save" value="Save Data"> 
<input type="submit" name="backup" value="Save Data as Backup"> 
<?=form_close();?> 

SAVEDATA(控制器)

In this controller, Save Data and Create One Backup Also. 
0

您可以使用像下面,你爲什麼用兩個表格,如果你想在兩個表中添加數據,您可以使用像下面的例子

查看文件

<?=form_open('action/saveData')?> 
<label>Your Name</label> 
<input type="text" name="name" placeholder="Your Name"> 
<input type="submit" value="Save Data"> 
<?=form_close();?> 

型號文件

Class Test extends CI_Model 
{ 
    function insert_tbl1($data) 
    { 
     $this->db->insert('tbl_tbl1', $data); 
     return $this->db->insert_id(); 
    } 
    function insert_tbl2($data) 
    { 
     $this->db->insert('tbl_tbl2', $data); 
     return $this->db->insert_id(); 
    } 
} 

控制器文件

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 
class Action extends CI_Controller { 
    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('Test'); 
    } 

    public function saveData() 
    { 
     if($_POST['save'] == "Save Data"){ 
     $data = array('test1' => $_POST['name']); 
     $insert_tbl1 = $this->test->insert_tbl1($data); 
     $insert_tbl2 = $this->test->insert_tbl2($data); 
     } 

    } 

} 
0

只有一種形式可以一次提交。根據html5規則,您不得在表格中使用表格。而不是使用兩種形式創建只有一種形式,並在其中放置兩個提交按鈕。一個作爲保存數據提交,另一個作爲備份保存。這兩個按鈕都可以正常工作。