2015-06-15 42 views
2

我有一個選擇在我的HTML表單:只獲得從HTML數組一個元素在我的PHP文件

<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

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> 

上面的代碼適用於me.please看看我的代碼

+0

我試過你的代碼,確實,它的工作原理。但是,當我將它嵌入到表單中時,它不會。我將用我的代碼的更簡單的部分編輯第一個問題,它有相同的問題。也許你可以找到爲什麼你的表單在我的頁面中工作,但如果我把它放到我自己的表格中,不是嗎?非常感謝 –

+0

您是否在瀏覽器控制檯 – Ramki

+0

中收到任何錯誤,但是我已經發布了答案。這是一個格式不正確的div。謝謝 –

1

我花了很多時間玩弄了愚蠢的想法。 有了OP中的信息,就不可能發現哪裏出了問題。我發現這裏的解決方案:Submitting form from different <div> HTML

基本上,我有這樣的結構:

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

我認爲這是正常的,沒想到一會兒,這可能會影響。因此,它不是PHP/JS,而是不正確的html標籤。謝謝你的時間。