bag*_*ilk 0 php foreach post for-loop
我是php的新手.我有一个jQuery脚本,将生成新元素.用户单击"提交"并转到page2.php.这就是我需要一个php循环来确定用户创建了多少文本输入的地方.
page1.php中
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.min.js'> </script>
<script type='text/javascript'>
$(document).ready(function() {
$('#btn').click(function() {
var x = parseInt($('#hidtxt').val()) + (1*1);
var z = "<input type='text' id='txt" + x + "' name='txt" + x + "' size='10'/>";
$('#main').append(z);
$('#hidtxt').val(x);
});
});
</script>
</head>
<body>
<form name='myform' action='page2.php' method='post'/>
<input type='hidden' value='1' name='hidtxt' id='hidtxt'/>
<div id='main'>
<input type='text' id='txt1' name='txt1' size='10'/>
</div>
<input type='button' id='btn' name='btn' value='Add Text Box'/>
<input type='submit' value='Submit' id='subBtn' name='subBtn'/>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
然后是page2.php
<?php
//CREATE LOOP TO POST ALL TEXT INPUTS
$val1 = $_POST['txt1'];
$val2 = $_POST['txt2'];
....
....
$valx = $_POST['txtx'];
?>
Run Code Online (Sandbox Code Playgroud)
将文本框名称指定为数组
<input type='text' id='txt1' name='txt[]' size='10'/>
Run Code Online (Sandbox Code Playgroud)
然后就好了
print_r($_POST['txt']);
Run Code Online (Sandbox Code Playgroud)
然后你将得到文本框值的数组.你可以使用循环
for($i=0;$i<$cnt;$i++) {
$val[$i] = $_POST['txt'][$i];
}
Run Code Online (Sandbox Code Playgroud)
在这里,你需要得到你为循环给出的总输入字段的数量.$cnt保持一个带有初始值的隐藏字段,1并且每当你点击Add text box按钮时你需要递增它,并且在提交表单后你可以获得$cnt值隐藏字段中的输入字段数.