2表单提交相同的数据

时间:2015-12-03 05:29:48

标签: php forms codeigniter

我想创建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();?>

非常感谢

7 个答案:

答案 0 :(得分:4)

表单无法嵌套HTML5 working draft

我建议你在这种情况下使用单一表格。当您在后端收到表格时,您可以查看天气以保存数据或进行备份。您可以通过添加instancetype属性来实现此类功能。你的表格是这样的:

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();?>

答案 1 :(得分:1)

表格不能嵌套。您可以使用ajax或任何其他方法来实现此目的。

答案 2 :(得分:0)

仅在结尾处使用以下一行。

<?=form_close();?>

答案 3 :(得分:0)

你不能在表格中单独填写表单或单独使用javascript并更改操作然后提交。

答案 4 :(得分: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(Controller)

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

答案 5 :(得分: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);
       }

    }

}

答案 6 :(得分:0)

一次只能提交一份表格。根据html5规则,您不得使用表单中的表单。而不是使用两个表单只创建一个表单并在其中放置两个提交按钮。一个作为保存数据提交,另一个作为备份保存。这两个按钮都能正常工作。