0

我正在使用下面的 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 使用新名称进行更新,但输入字段具有相同的名称。有人可以帮我解决这个问题。

4

1 回答 1

1

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

在您的示例中没有form标签,我不知道是因为您从示例中省略了它还是因为它不存在,无论如何您需要在包装 div 周围添加一个表单标签:

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

您还需要一个提交按钮:

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

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

$ipName = $_POST['ipname'];
$consolename = $_POST['consolename'];
...
于 2012-07-22T08:06:31.140 回答