我想將輸入字段的數據發佈到PHP。我有一個jQuery腳本,它添加了新的輸入字段(通過用戶單擊按鈕)。所有輸入字段具有相同的名稱input[]
。當我提交表單時,我做了var_dump($_POST)
,我得到的只是其中只有1個項目的數組(第一個輸入是在頁面加載時出現的)。有誰知道從其他輸入字段獲取數據的方式,它們是動態添加的嗎?我需要爲此使用JSON嗎?從Ajax生成的輸入字段(同名)發送數據到PHP
這裏是代碼:
<body>
<div id="inp">
<form action="asd.php" method="POST">
<p><input type="text" name="input[]"></p>
</div>
<div id="adddiv">
<input id="add" type="submit" value="+">
<input id="ok" type="submit" value="ok">
</form>
</div>
</body>
<script>
$(document).ready(function(){
$('#add').click(function(e){ //adds input fields
e.preventDefault();
$('#inp').append('<p><input type="text" name="input[]"> <input id="del" type="submit" value="-"></p>');
});
$('#inp').on('click', '#del', function(e){ // removes input fields
e.preventDefault();
$(this).parent('p').remove();
});
});
</script>
現在的PHP文件:
<?php
var_dump($_POST); // shows only 1 item in the array
if(!empty($_POST)){
for($i=0;$i<sizeof($_POST);$i++){
$data = $_POST['input'][$i];
echo '<br>' . $data;
}
}
?>
我找到了解決這個:
<div>
<form action="process.php" method="POST">
<div id="inp">
<p><input type="text" name="input[]"></p>
</div>
<div id="adddiv">
<input id="add" type="submit" value="+">
<input id="ok" type="submit" value="ok">
</div>
</form>
</div>
你的HTML部分是錯誤的,你已經開放的形式標記後關閉div標籤''
固定它,但問題仍然是這裏...仍然只有1陣列項目 – JosefPP
這裏更改代碼 –