在php页面中获取表单的输入

时间:2012-07-22 07:43:33

标签: php jquery html dom post

我正在使用以下jquery代码在单击按钮时在表单中创建新条目。

 <script type="text/javascript">
    $(document).ready(function() {
        $('#btnAdd').click(function() {
            var num     = $('.clonedInput').length;
            var newNum  = new Number(num + 1);

            var newElem = $('#input' + num).clone().attr('id', 'input' + newNum);

            newElem.children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum);
            $('#input' + num).after(newElem);
            $('#btnDel').attr('disabled','');

            if (newNum == 3)
                $('#btnAdd').attr('disabled','disabled');
        });

        $('#btnDel').click(function() {
            var num = $('.clonedInput').length;

            $('#input' + num).remove();
            $('#btnAdd').attr('disabled','');

            if (num-1 == 1)
                $('#btnDel').attr('disabled','disabled');
        });


        $('#btnDel').attr('disabled','disabled');
    });
</script>

我的HTML代码是

<form id="entry" method="post" action="collect.php">
<div id="input1" style="border: solid 2px #000; width: 80%; margin-bottom:4px;" class="clonedInput">
<table>
<tr>
<td><img src="arrow.gif"/></td>
<td>
    <table>
        <tr>
            <td><b>I/P: </b></td>
            <td><input type="text" name="ipname" id="name1" /></td>

            <td><b>Console I/P: </b></td>
            <td><input type="text" name="consolename" id="name1" /></td>

            <td><b>Console Port: </b></td>
            <td><input type="text" name="portname" id="name1" /></td>

            <td><b>Rack Number: </b></td>
            <td><input type="text" name="rackname" id="name1" /></td>
        </tr>
        <tr>
            <td><b>Serial Number: </b></td>
            <td><input type="text" name="serialname" id="name1" /></td>

            <td><b>Login Machine: (must get dropdown from db)</b></td>
            <td><select name="logmacname">
            <option value="volvo">Volvo</option>
            <option value="saab">Saab</option>
            <option value="mercedes">Mercedes</option>
            <option value="audi">Audi</option>
            </select></td>

            <td><b>Machine Username: </b></td>
            <td><select name="usermac" >
            <option value="">Select:</option>
            <option value="cisco">cisco</option>
            <option value="lab">lab</option>
            </select></td>

            <td><b>Machine Password: </b></td>
            <td><select name="macpass" >
            <option value="">Select:</option>
            <option value="cisco">cisco</option>
            <option value="lab">lab</option>
            </select></td>
        </tr>  
    </table>
</td>
</tr>
</table>            
</div>

<div>
    <input type="button" id="btnAdd" value="add another entry" />
    <input type="button" id="btnDel" value="remove entry" />
</div>
<input type="submit" value="Click to submit!">
</form>

我现在需要将此表单发送到我的collect.php以进行数据库存储。我知道我可以使用$_POST访问表单值并使用isset()函数来检查它们,但是如何从表单中访问每个条目并使用它。只有我的div使用新名称进行更新,但输入字段具有相同的名称。 有人可以帮助我解决这个问题。

1 个答案:

答案 0 :(得分:1)

首先,每个元素只能有一个唯一ID,而所有元素都有id="name1",因此要么更改每个元素的ID,要么删除它或将其更改为class="name1"

在你的例子中没有form标签,我不知道是不是因为你从你的例子中省略了它,或者因为它不存在,无论如何你需要一个围绕包装div的表格标签: / p>

<form action="collect.php" method="post">
...
</form>

您还需要一个提交按钮:

<input type="submit" value="Submit"/>

然后单击提交按钮后,将自动调用collect.php,然后您可以从帖子数组中访问参数:

$ipName = $_POST['ipname'];
$consolename = $_POST['consolename'];
...