在我的 php 文件中只从 html 数组中获取一个元素


Only getting one element from html array in my php file

我的HTML表单中有一个选择:

<form name="correo" id="correo" method="post" action="#" enctype="multipart/form-data" onSubmit="<!--return checkFields();-->" ><div class="multi-field-wrapper" name="multi-field-wrapper">
                    <div class="multi-fields" name="multi-fields">
                        <div class="multi-field" name="multi-field">
                            <div>
                                <label for="penviadas[]"> Cantidad </label>
                                <input type="number" name="penviadas[]" class="penviadas" id="penviadas" maxlength="70" placeholder="¿Cuántas?" onClick="removerIcon('iconcant');" > 
                            </div>
                         </div>
                    </div>
                    <button type="button" class="add-field">Añadir otra referencia</button>
                </div>

我可以动态添加字段(或者相同,我可以多次重复上面的代码;下面的代码有效)。

$('.multi-field-wrapper').each(function() {
  var $wrapper = $('.multi-fields', this);
  $(".add-field", $(this)).click(function(e) {
    $('.multi-field:first-child', $wrapper).clone(true).appendTo($wrapper).find('input').val('').focus();
  });
  $('.multi-field .remove-field', $wrapper).click(function() {
    if ($('.multi-field', $wrapper).length > 1)
      $(this).parent('.multi-field').remove();
  });
});

假设我有 3 个不同的选择 ( penviadas )。我想要的是提交表单后将它们全部放入我的 PHP 文件中。它曾经有效,但现在,由于某种原因,我只能获得第一个选择(penviadas)。为什么我没有从数组中获取penviadas值?

PD:我以不同的方式在我的PHP中打印它,但它们都只返回penviadas的第一个元素,而不是其余的:

var_dump($_REQUEST['penviadas']);

经过几个小时的愚蠢装潭,我才想通。使用OP中的信息,不可能发现问题所在。我在这里找到了解决方案:从不同的

HTML提交表单

基本上,我有这个结构:

<div...
<form...
</div...
</form>

我以为没事,一时没想到这会产生影响。因此,不正确的不是 PHP/JS,而是 html 标签。谢谢你的时间。

PHP 代码:

<?php
if(isset($_POST['test']))
{
$data = $_POST['referenciasnuevas'];
 foreach ($data as $key => $value) {
    echo $value . "<br />";
}
}
?>

网页代码:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<form method="post" action="#">
<div class="multi-field-wrapper" name="multi-field-wrapper">
<div class="multi-fields" name="multi-fields">
<div class="multi-field" name="multi-field">
<label for="referenciasnuevas[]">Referencia pieza</label>
<select name="referenciasnuevas[]" id="referenciasnuevas" class="referenciasnuevas" style="width: 105px"  onClick="removerIcon('iconref');">
<option selected value='-1'> ¿cliente? </option></select>
</div>
</div>
<button type="button" class="add-field">Añadir otra referencia</button>
</div>
<input type="submit" name="test" value="Submit">
</form>
<script>
$('.multi-field-wrapper').each(function() {
var $wrapper = $('.multi-fields', this);
$(".add-field", $(this)).click(function(e) {
    $('.multi-field:first-child', $wrapper).clone(true).appendTo($wrapper).find('input').val('').focus();
});
$('.multi-field .remove-field', $wrapper).click(function() {
    if ($('.multi-field', $wrapper).length > 1)
        $(this).parent('.multi-field').remove();
});
});
</script>
</body>
</html>

上面的代码对我有用。请查看我的代码