我想创建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();?>
非常感谢
答案 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规则,您不得使用表单中的表单。而不是使用两个表单只创建一个表单并在其中放置两个提交按钮。一个作为保存数据提交,另一个作为备份保存。这两个按钮都能正常工作。