开发者社区 问答 正文

某字段获取同一个表单已审批完成的数据

已解决

要做一个更新各环节内容的表单,当案件环节选择第一个环节的时候,需要输入两个文本框的数据,比如标题和类型,这时提交审批,审批完成后,当我第二次再打开这个表单的时候,选择第二个环节,希望标题和类型变成不可输入,同时反显第一个环节填写的内容,请问这种需要如何处理呢?刚入行,希望大神指导的稍微详细点,谢谢!

展开
收起
游客zpmwaiqczvtke 2023-07-10 15:08:35 74 分享 版权
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长
    采纳回答

    当案件环节选择第一个环节时,需要输入标题和类型,并提交审批。
    当再次打开表单并选择第二个环节时,标题和类型应该变成不可输入,同时反显第一个环节填写的内容。
    要实现这个功能,您可以按照以下步骤进行:

    在表单中添加两个文本框,用于输入标题和类型。
    将表单保存到数据库中,并添加一个状态字段,用于记录表单的状态。
    当用户选择第一个环节时,将状态字段设置为“待审核”并将用户输入的标题和类型保存到数据库中。
    当用户选择第二个环节时,将状态字段设置为“审核通过”并从数据库中获取第一个环节填写的标题和类型,并将它们反显在表单上。
    具体来说,您可以按照以下步骤进行:

    在表单中添加两个文本框,用于输入标题和类型。例如,您可以使用 HTML 的 标签来创建这两个文本框:
    html
    Copy

    标题:

    类型:


    将表单保存到数据库中,并添加一个状态字段,用于记录表单的状态。例如,您可以使用 MySQL 数据库来保存表单数据,并添加一个 status 字段来记录表单的状态:
    sql
    Copy
    CREATE TABLE form_data (
    id INT PRIMARY KEY AUTO_INCREMENT,
    title VARCHAR(255),
    type VARCHAR(255),
    status VARCHAR(255)
    );
    当用户选择第一个环节时,将状态字段设置为“待审核”并将用户输入的标题和类型保存到数据库中。例如,您可以使用 PHP 来处理表单提交事件,并将数据保存到数据库中:
    php
    Copy
    <?php
    // 获取用户输入的标题和类型
    $title = $_POST['title'];
    $type = $_POST['type'];

    // 将数据保存到数据库中
    $pdo = new PDO('mysql:host=localhost;dbname=my_database', 'username', 'password');
    $stmt = $pdo->prepare('INSERT INTO form_data (title, type, status) VALUES (?, ?, ?)');
    $stmt->execute([$title, $type, '待审核']);

    // 跳转到下一个环节
    header('Location: next_step.php');
    当用户选择第二个环节时,将状态字段设置为“审核通过”并从数据库中获取第一个环节填写的标题和类型,并将它们反显在表单上。例如,您可以使用 PHP 来处理表单打开事件,并从数据库中获取数据:
    php
    Copy
    <?php
    // 获取表单的状态
    $id = $_GET['id'];
    $pdo = new PDO('mysql:host=localhost;dbname=my_database', 'username', 'password');
    $stmt = $pdo->prepare('SELECT status FROM form_data WHERE id = ?');
    $stmt->execute([$id]);
    $status = $stmt->fetchColumn();

    // 如果状态为“审核通过”,则从数据库中获取第一个环节填写的标题和类型
    if ($status == '审核通过') {
    $stmt = $pdo->prepare('SELECT title, type FROM form_data WHERE id = ?');
    $stmt->execute([$id]);
    $row = $stmt->fetch();
    $title = $row['title'];
    $type = $row['type'];
    } else {
    $title = '';
    $type = '';
    }

    // 渲染表单,并将标题和类型反显在文本框中
    echo '标题:';
    echo '

    2023-07-10 16:32:28
    赞同 展开评论
  • 值得去的地方都没有捷径

    对于这种情况,你可以在表单的后台代码中进行处理。下面是一种可能的解决方案:

    1. 在数据库中创建一个表,用于存储表单数据。该表可以包含字段如下:ID(表单ID)、标题、类型、环节状态。

    2. 当用户提交表单时,将表单数据插入到数据库中,并将环节状态设置为第一个环节。

    3. 当用户再次打开表单时,根据表单ID查询数据库,获取该表单的数据。

    4. 根据环节状态,控制标题和类型字段的可编辑性。如果环节状态为第二个环节或更高的环节,将标题和类型字段设为不可编辑,并从数据库中获取第一个环节的填写内容进行反显。

    你可以在后台代码中使用条件语句和数据库查询来实现这个逻辑。具体的实现方式可能因你使用的编程语言和框架而有所不同。希望这些信息对你有帮助,如果你有任何进一步的问题,请随时提问。

    2023-07-11 12:56:47
    赞同 展开评论
  • 可以参考以下步骤进行处理:

    1. 表单设计:首先,设计一个包含各个环节选项、标题和类型的表单。可以使用HTML和CSS来创建表单界面,并使用JavaScript来实现与用户交互的功能。

    2. 根据环节选择设置字段状态:使用JavaScript,监听环节选择的变化事件。当选择第一个环节时,将标题和类型字段设置为可输入状态;而当选择其他环节时,将标题和类型字段设置为不可输入状态。

    3. 提交审批前获取数据:在提交审批之前,通过JavaScript将用户输入的标题和类型数据存储起来,可以使用浏览器的localStorage或一些其他方式进行保存。

    4. 审批完成后反显数据:在打开表单时,根据审批记录中的信息,判断之前是否已经填写过标题和类型,并根据需要设置字段的输入状态。如果之前已填写标题和类型,则将其反显到相应的字段中,否则保持为空白。

    在实际实现过程中,可能还需要考虑表单的验证、数据存储、权限控制等方面的功能。所以,建议您根据具体的需求和技术栈,使用合适的框架和工具进行开发。

    2023-07-10 19:12:09
    赞同 展开评论
问答地址: