如何在PHP中获取动态文本框值?

时间:2014-09-16 08:43:25

标签: javascript php jquery

在按钮点击事件中,我在网页中添加了一些文本框,所以现在我想获取用户输入的文本框的值。我怎么能这样做?

$(document).ready(function()
{
  var max_fields      = 100; 
  var wrapper         = $("#test1");
  var add_button      = $("#eassy");
  var x = 1; 
  $(add_button).click(function(e){
      e.preventDefault();
      if(x < max_fields)
      {
        //max input box allowed
        x++; 
        $(wrapper).append('<div><input type="text" name="pay"></div>');
      }
  });
});

我用它来动态创建文本框。请给我一些指导!

2 个答案:

答案 0 :(得分:0)

您需要为每个文本框指定唯一名称:

这样做:

if(x < max_fields){ //max input box allowed
    $(wrapper).append('<div><input type="text" name="pay[]"></div>');
    x++; 
}

您将获得数组中所有文本框的值。您可以通过以下方式查看每个值:

print_r($_REQUEST['pay']);

这将是一个数组,可以通过以下方式检索:

   foreach($_REQUEST['pay'] as $item){
        echo $item;
   }

答案 1 :(得分:0)

由于许多文本框具有相同的名称,因此您应该使用名称数组 append()调用应该是这样的:

$(wrapper).append('<div><input type="text" name="pay[]"></div>');

然后在后端,您可以这样做:

for($i = 0; $i < $max_fields; $i++)
    if(isset($_POST['pay'][$i]))
        $value = $_POST['pay'][$i]; // Use this value of the textbox
    else
        break;

修改
在PHP中获取max_fields
HTML:

<input type="hidden" id="inpMaxFields" name="inpMaxFields" value="">

JQuery的:

$('#inpMaxFields').val(max_fields);

PHP:

$max_fields = $_POST['inpMaxFields'];