Javascript 使用PHP读取动态下拉菜单中的值
我正在使用Javascript函数,以便用户可以动态创建一些html控件,例如,每当他需要添加文本字段时,他可以调用此函数,该函数可用于创建这些动态控件,包括文本字段、下拉菜单和单选按钮,我在代码中将它们视为数组 在用户动态创建此控件之后;他使用它们来输入值,我正在编写一个php代码来读取数组值,以便稍后将它们插入MySQL DB,但我使用的php代码只能读取数组中第一个下拉列表的值,无法读取其余值,尽管同一代码可以很好地处理文本字段和单选按钮: HYG每当用户调用JS函数时,为文本字段下拉菜单插入的HTML代码:Javascript 使用PHP读取动态下拉菜单中的值,javascript,php,html,dynamic,Javascript,Php,Html,Dynamic,我正在使用Javascript函数,以便用户可以动态创建一些html控件,例如,每当他需要添加文本字段时,他可以调用此函数,该函数可用于创建这些动态控件,包括文本字段、下拉菜单和单选按钮,我在代码中将它们视为数组 在用户动态创建此控件之后;他使用它们来输入值,我正在编写一个php代码来读取数组值,以便稍后将它们插入MySQL DB,但我使用的php代码只能读取数组中第一个下拉列表的值,无法读取其余值,尽管同一代码可以很好地处理文本字段和单选按钮: HYG每当用户调用JS函数时,为文本字段下拉菜单
<input type="text" name="APersonName[]" value="" placeholder="Full Name" />
<select name="APersonRelation[]" size="1">
<option selected=selected value="Relationship">Relationship</option>
<option value="Spouse">Spouse</option>
<option value="Friend">Friend</option>
<option value="Parent">Parent</option>
<option value="Child">Child</option>
</select>
HYG是我用来读取文本字段和下拉选择输入类型的PHP代码
对于文本字段,它可以工作:
$name = implode(",", $_POST["APersonName"]);
echo $name . "<P>";
对于下拉列表,它不起作用:
$relation = implode(",", $_POST["APersonRelation"]);
echo $relation . "<P>";
当我将下拉菜单作为数组处理时,是否应该以其他方式引用下拉菜单的值
添加创建动态控件的JS函数:
<script type="text/javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
if (rowCount < 5) {
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for (var i = 0; i < colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
var clonedChildren = newcell.children;
var childTable = newcell.getElementsByTagName("TABLE")[0];
for (var i = 0; i < childTable.rows.length; i++) {
var colCnt = childTable.rows[i].cells.length;
for (var j = 0; j < colCnt; j++) {
var children = childTable.rows[i].cells[j].children;
for (var k = 0; k < children.length; k++) {
if (children[k].tagName == 'SELECT') {
children[k].name = "Row" + rowCount + children[k].name;
} else if (children[k].tagName == 'INPUT') {
if (children[k].type == "radio") {
children[k].name = "Gala[" + rowCount + "]";
}
}
}
}
}
}
} else {
alert("Please submit the form.");
}
}
</script>
谢谢您不应该只需要一个值而不是一个数组吗?我认为您不想检索所有选项:-不能同时是孩子和配偶:JS函数创建多个文本字段和多个下拉列表,因此每个下拉列表都有相同的值,对应于不同的文本字段名称,例如,用户将创建两个文本字段名称和两个下拉列表关系,将在第一个文本字段中输入他的名字,选择丈夫,然后在第二个文本字段中输入妻子的名字,并从相应的下拉列表中选择妻子,然后提交表单,该表单将调用php代码在DBSo中输入这些值。您可以将其想象为一个相同控件的数组,该数组可以很好地处理文本字段,但不适用于下拉列表,我认为这与下拉列表本身包含一个值数组这一事实有关,也许我需要使用某种多维数组或其他东西,我不知道!