gpt4 book ai didi

Javascript 动态生成选择菜单,php 在 POST 中看不到

转载 作者:行者123 更新时间:2023-12-03 05:37:01 26 4
gpt4 key购买 nike

这个话题并不新鲜。事实上,我编写这段代码是直接从另一个线程复制接受的答案。但我的代码 deos 仍然无法运行,可能是因为情况略有不同。

我有一个网页(由 php 生成),其中包含一个表单 my_form,以及该页面其他位置的另一个表单。下面的函数 showAddRespPersonMenu 应该会生成一个员工下拉菜单,以分配给一个工作,在一个列出了数百个工作的页面上。 (这就是我动态创建选择菜单的原因:避免 Web 浏览器陷入 100 个不必要的隐藏或可见选择菜单,每个菜单包含 100 名员工可供选择。)因此,用户想要修改其中的一些内容100 个职位,我通过单击该职位,仅针对用户感兴趣的职位动态生成员工菜单 - 运行函数 showAddRespPersonMenu(theRespId),其中提交的 theRespId 是该职位的 ID。

下面的代码在页面上直观地运行,在页面上生成一个选择菜单。但它没有显示在 php POST 输入中。执行命令 var_dump($_POST) 显示所有静态表单字段及其值(表单 my_form),但不显示动态生成的选择菜单。有问题的 div 位于 my_form 的 和 标签之间。然而,问题是否可能是动态生成的选择菜单未在表单 my_form 下分配,因此提交 my_form 不会发送这些字段?这是一个谜,因为在另一个线程中,几乎相同的代码(显然在页面上只有一种形式)被接受为功能性的。

var theSaveButtonHTML  = \'<a href="#" onclick="document.my_form.submit(); return false;"><img src="pics/save.png"></a>\';

function showAddRespPersonMenu(theRespId) {
var theDiv = document.getElementById(\'addRespPersonDiv\' + theRespId);
theDiv.innerHTML = "";
// Create and append a select menu
var selectMenu = document.createElement("select");
selectMenu.id = \'addPrimaryPersonMenu\' + theRespId;
theDiv.appendChild(selectMenu);
// Create and append options into the menu
for (var i = 0; i < personIdsArray.length; i++) {
var thisOption = document.createElement("option");
thisOption.value = personIdsArray[i];
thisOption.text = personNamesArray[i];
selectMenu.appendChild(thisOption);
}
document.getElementById(\'saveAddedPersonDiv\' + theRespId).innerHTML = theSaveButtonHTML;
document.getElementById(\'addUsersToResps\').value += \':\' + theRespId;
}

最佳答案

我认为您需要的是将 name 属性添加到您的 selectMenu 节点。

selectMenu.setAttribute('name', 'SOME_NAME');

有关 setAttribute 的更多信息.

关于Javascript 动态生成选择菜单,php 在 POST 中看不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40686760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com