我的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']);
答案 0 :(得分:1)
经过几个小时玩傻瓜后,我想出来了。 根据OP中的信息,无法发现存在问题的位置。我在这里找到了解决方案:Submitting form from different <div> HTML
基本上,我有这个结构:
<div...
<form...
</div...
</form>
我认为这没关系,并且暂时没想到这可能会影响到。因此,它不是PHP / JS,而是html标签不正确。谢谢你的时间。
答案 1 :(得分:0)
PHP代码:
<?php
if(isset($_POST['test']))
{
$data = $_POST['referenciasnuevas'];
foreach ($data as $key => $value) {
echo $value . "<br />";
}
}
?>
Html代码:
<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>
以上代码适用于我。请查看我的代码