使用PHP在动态下拉菜单中读取值

时间:2015-01-04 21:39:39

标签: javascript php html dynamic

我正在使用Javascript函数,以便用户可以动态创建一些html控件,例如每当他需要添加一个他可以调用此函数的文本字段时,该函数可用于创建这些动态控件,包括文本字段,下拉菜单和单选按钮,我在代码中将它们视为数组

用户动态创建此控件后;他使用它们输入值,我正在编写一个PHP代码来读取数组值,以便稍后将它们插入到MySQL数据库中,但我使用的php代码只能读取数组中第一个下拉列表的值,并且可以&尽管相同的代码在文本字段和单选按钮上工作正常,但仍然会读取其余值:

HYG每当用户调用JS函数时,为文本字段下拉菜单插入的HTML代码:

<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>

由于

0 个答案:

没有答案