PHP创建添加另一个按钮

时间:2016-04-20 20:16:57

标签: javascript php html

我正在为营地注册创建一个php页面,非常基本,我不想在页面上添加多个名称标签/文本框。我的想法是默认情况下有一个文本框和一个标签,可能还有蓝色文字说添加另一个(甚至是一个按钮)按下页面时会保留当前数据但添加一个额外的标签和文本框以便更多信息可以添加。这就是我捕获1的数据的方式,是否可以轻松修改以实现上述结果?

<td><label for="lblName">Campers Name:</label></td>
<td class="style1"><input  type="text" name="txtName" 
    maxlength="100" size="30"></td>

修改
当我点击它时,链接广告什么都不做,我确信它是我错过了显而易见的但是这里是完整的语法,我应该改变什么才能使它工作?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.min.js"></script>
<script type="text/javascript">
    $("#newCamper").on('click', function() {
      $('#Campers').after(
        '<div id="Campers">' +
        '<td><label for="lblName">Campers Name: </label></td>' +
        '<td class="style1"><input  type="text" name="txtName" maxlength="100" size="30"></td>' +
        '<a href="#" id="rmCamper"> remove this</a>' +
        '</div>'
      );
    });
    $(document).on('click', '#rmCamper', function() {
      $(this).closest('#Campers').remove();
    });
</script>
</head>
<body>
    <div id="Campers">
       <td><label for="lblName">Campers Name:</label></td>
       <td class="style1"><input  type="text" name="txtName" maxlength="100" size="30"></td>
       <a href="#" id="newCamper">Add another</a>
    </div>
</body>
</html>

编辑#2
当我在我的机器上转到localhost并按下Add按钮时,它会将URL更改为localhost#但是没有其他字段添加到页面中?

3 个答案:

答案 0 :(得分:1)

我认为您可以使用一些jquery代码来完成这项工作;)您所要做的就是包括https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.min.js 在你的页面。

String sql = "Select * from Umar where Date between ? and ? ";
...
ps.setDate/String(1, ...);
ps.setDate/String(2, ...);

https://jsfiddle.net/yb88s47s/

答案 1 :(得分:1)

在现实生活中,人们可能最好使用javascript。然而,完全有可能只用PHP。看看下面的例子:

<?php
$names = isset($_GET['txt']) ? $_GET['txt'] : [];
$i = 0;
?>
<form method="get">
    <?php foreach ($names as $name) : ?>
        <label for="txt<?= $i ?>">member</label>
        <input name="txt[]" id="xt<?= $i ?>" value="<?= $name ?>">
        <br>
        <?php $i++ ?>
    <?php endforeach; ?>
    <label for="txt<?= $i ?>">member</label>
    <input name="txt[]" id="xt<?= $i ?>">
    <button type='submit'>
        add
    </button>
</form>

此表格将自行提交。首先获取名称数组(注意[]字段上的txt[])。然后迭代它们并将它们中的每一个显示为输入。在循环之后,您只需添加一个额外的空字段。

这显然是一个非常基本的示例,您可能需要进行一些验证,并在该添加按钮上添加一个名称,以便能够将其与实际的最终提交区分开来。这只是一个概念证明。

查看行动中的代码here。如果有什么不清楚,请随时询问。

答案 2 :(得分:0)

我知道您正在寻找PHP的答案,但是对于您需要做的事情(DOM操作),您最好使用JavaScript。您可以创建另一个输入字段并增加一个变量以附加到同一个ID字段。见this question。如果您跟踪以这种方式创建的输入字段的总数,您可以迭代表单提交上的那些以捕获所有数据。