在提交之前是否有另一种方法可以在 HTML 表单中添加多个标签?

我有一个使用 HTML、JQuery 和 PHP 编写的自定义知识库的管理面板,它读取 XML 文件并允许通过 HTML 表单向文件添加更多记录。该页面发送新记录,然后通过 AJAX 进行更新。XML 记录代表知识库文章,我最近为这些记录添加了标签,以便更好地搜索和分类。


我遇到的问题是寻找另一种方法来处理在插入之前将多个标签添加到 HTML 表单以获取新记录。我不是在寻找关于执行此操作的“最佳”方法的意见,而是在寻找我可能不具备的 HTML、JQuery 或 PHP 支持的不同功能的知识,这些功能将使我能够实现在之前添加多个标签的目标提交表格。


我有三个目标:1)能够选择一个标签,将其添加到表单中的列表中,然后在提交之前根据需要添加更多标签;2)能够以可读、可滚动的方式显示所选标签,最后3)如果可能,无需以编程方式添加(然后读取)多个输入字段即可执行此操作。


我知道我可以添加一个input type=text、一个select input 和一个按钮,并使用 JavaScript 将填充有所选标签的字符串填充文本输入,并使用已知的安全字符分隔整个字符串以分隔每个标签。然后我可以通过我的 AJAX 查询传递这个输入字段,并处理 AJAX 调用的 PHP 文件中的字符串。这似乎是解决此问题的错误方法。此外,这不符合目标 (2)。


我也知道我可以将选择输入与多个一起使用,但这也使目标 (2)失败,并且当我有一个包含 100 个标签的列表时,我需要在列表的不同位置添加其中的 15 个,这会适得其反。


还有另一种方法可以做到这一切吗?再次强调,首先不要寻找关于“最佳”方法的意见,甚至不是意见,只是为了获得我可能不知道的知识、更正或提示,这将实现我正在寻找的东西。


我在下面包含了我的 JQuery 代码、我的表单 HTML/PHP 和我的 XML 文件示例。


查询:


$('#submit_add').click(function(){

    var clickBtnValue = $(this).val();

    var articleId = $("#id").val();

    var articleTitle = $("#title").val();

    var articleFilepath = $("#filepath").val();

    var articleLevel = $("#level").val();

    var ajaxurl = 'kb_add_article.php',

    data =  {'action': clickBtnValue, 'id': articleId, 'title': articleTitle, 'filepath': articleFilepath, 'level': articleLevel};

    $.post(ajaxurl, data, function (response) {

        // Response div goes here.

        alert(response);

    });

});


当年话下
浏览 71回答 1
1回答

慕桂英3389331

使用 JavaScript 添加多个输入,但在名称中使用方括号,如下所示<input name="someName[]" />。然后在您的 PHP 中,您可以使用$_POST['someName'],它将包含所有名称为 的输入值的数组someName[]。
打开App,查看更多内容
随时随地看视频慕课网APP