【问题标题】:PHP - How to add fields on changing value in Dropdown in same page?PHP - 如何在同一页面的下拉列表中添加更改值的字段?
【发布时间】:2014-11-01 18:23:55
【问题描述】:

我正在研究 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 按钮?

就像,我填写了以下几行, http://i.stack.imgur.com/RNOO9.png

我得到的代码如下: http://i.stack.imgur.com/XneZs.png怎么办?

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

【问题讨论】:

    标签: javascript php html


    【解决方案1】:
    1. 以下是根据所选选项值添加文本输入的简单示例(假设它是整数): http://jsfiddle.net/45vsf519/2/ 你没有提到你是否想要在 vanilla JS 中使用它,所以在 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 中的“网络”选项卡或其他浏览器中的网络工具进行检查,您会看到单击“生成代码”会导致向服务器提交 POST 请求。其文本区域由内容填充的 HTML 是来自服务器的响应。

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

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

    恕我直言,您可以选择是通过请求服务器还是纯客户端来实现。

    【讨论】:

    • 嗯,我明白你想说什么。它帮助我找到了答案。感谢回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 2011-08-11
    • 1970-01-01
    相关资源
    最近更新 更多