PHP-如何在同一页面的Dropdown中添加更改值的字段

PHP - How to add fields on changing value in Dropdown in same page?

本文关键字:添加 字段 Dropdown PHP- 一页      更新时间:2023-09-26

我正在编写php脚本&Html。。在这个网站上http://swatteam.mania-craft.fr/training/

在这里,你可以在标签上看到

Members that participated (select the number, then the names) + Evaluation

有一个下拉按钮。如果我选择1,它会显示几个字段。如果我选择4或5,它会显示4或5个以上的字段。我一直在做这个。你能帮我吗?我的意思是,当我更改下拉列表中的数字时,如何添加这些字段?

此外,当我单击时,将值更改为5 (Members that participated (select the number, then the names) + Evaluation Label)后,我应该如何在文本框中添加更多行

Generate the Code按钮?

比如,我填写了以下几行,https://i.stack.imgur.com/RNOO9.png

我得到的代码是:https://i.stack.imgur.com/XneZs.png怎么做?

我知道如何自定义bbc标签,但是,如何将它们添加到另一个名为submit.php的页面中我需要使用$_POST还是$_SESSION?或者,我需要使用java脚本将这些行添加到文本区域?

  1. 以下是根据所选选项值添加文本输入的简单示例(假设它是一个整数):http://jsfiddle.net/45vsf519/2/你没有提到你是否想要在vanillaJS中使用它,所以在jQuery中使用它吧,因为它很简单

HTML

<select id="example" name="example">
    <option value="1" selected="selected">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<div id="inputs">
</div>

jQuery

$(document).ready(function () {
    // Initiate default
    var example = $('#example');
    var inputs = $('#inputs');
    var optNum = parseInt(example.val());
    for (var i = 1; i <= optNum; ++i) {
        inputs.append('<input name="member' + i + '" type="text" /><br />');
    }
    // Adding text fields on select change
    example.change(function () {
        inputs.empty();
        var optNum = parseInt($(this).val());
        for (var i = 1; i <= optNum; ++i) {
            inputs.append('<input name="member' + i + '" type="text" /><br />');
        }
    });
});
  1. 如果您使用Firebug中的"Net"选项卡或其他浏览器中的网络工具进行检查,您会看到单击"生成代码"会向服务器提交POST请求。文本区域由内容填充的HTML是来自服务器的响应

因此,您可以通过向某个有效的URI提交HTTP请求来在服务器端生成此文本区域。这意味着web服务器应该将URI解析为一些服务器端代码(PHP或任何可能的代码),用于处理POST(或GET)参数并生成web服务器应该在其对浏览器的响应中发送的HTML。

或者,如果您不想在服务器端处理此操作(例如,将其记录在数据库中),则可以仅使用Javascript生成此HTML。这意味着您有更多的客户端Javascript逻辑,如果您不熟悉单页应用程序(SPA)技术,这可能会相对复杂。

IMHO,您可以选择是请求服务器还是纯客户端。