文本框中的回显值,而文本框由用户动态添加

时间:2016-03-30 08:33:57

标签: javascript php html input textbox

我希望在用户点击提交后显示用户输入的文本框中的值。

在页面中,我添加了一个按钮"添加文本框"这使得用户可以自己添加文本框,最多可以添加10个文本框。

这是我目前的代码



$(document).ready(function() {

  var counter = 2;

  $("#addButton").click(function() {

    if (counter > 10) {
      alert("Only 10 textboxes allow");
      return false;
    }

    var newTextBoxDiv = $(document.createElement('div')).attr("id", 'TextBoxDiv' + counter);

    newTextBoxDiv.after().html('<label>Textbox #' + counter + ' : </label>' + '<input type="text" name="textbox' + counter + '" id="textbox' + counter + '" value="" >');

    newTextBoxDiv.appendTo("#TextBoxesGroup");


    counter++;
  });

  $("#removeButton").click(function() {
    if (counter == 2) {
      alert("System required at least one.");
      return false;
    }

    counter--;

    $("#TextBoxDiv" + counter).remove();

  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form action="<?php $_PHP_SELF ?>" method="post">
  <div id='TextBoxesGroup'>
    <div id="TextBoxDiv1">
      <label>Textbox #1 :</label>
      <input type='textbox' id='textbox1' name="textbox1">
    </div>
  </div>
  <input type='button' value='Add Button' id='addButton'>
  <input type='button' value='Remove Button' id='removeButton'>
  <br/>
  <input type="submit" name="submit" id="submit">
</form>
&#13;
&#13;
&#13;

现在,当用户使用php点击提交按钮时,我想显示文本框中的所有值。

点击提交后,这个for循环没有显示任何内容

<?php
    if(isset($_POST['submit'])) {
        for($i = 1; $i< 10; $i++)
        {
            if(isset($_POST['textbox'+$i]))
            {
                $obj = $_POST['textbox'+$i];

                echo $obj;
            }
        }
   }
?>

有没有办法让php检查文本框是否存在或检查当前表单中有多少文本框?

2 个答案:

答案 0 :(得分:1)

要检查php是否存在文本框,请使用:

if(isset($_POST['textboxn']))
{

}

您还可以在一个循环中检查每个文本框

for($i = 0; i< 10; i++)
{
    if(isset($_POST['textbox'+i]))
    {

    }
}

答案 1 :(得分:0)

将此替换为以下表单标记

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> 

对于迭代文本框,使用for循环

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    for($i = 1; $i <= 10; $i++)
    {
        if(isset($_POST['textbox'+$i]))
        {

        }
    }
}