[英]Adding multiple inputs to file php form submit
我有一个看起来像这样的表单:
<label for="fullpath"><span class="required">*Full Path of folder to change access:</span></label>
<input name="fullpath" id="it10" type="text" size="50" maxlength="50" />
<br />
<small>Example: g:\A\Folder or j:\Your\Folder</small><br />
<div class="bgdiff">
<label for="userpermissiongroup">User Permission Group to be changed:</label>
<input name="userpermissiongroup" type="text" id="it11" size="50" maxlength="50" />
<small>If Known...</small></div>
<br />
<label for="addreadaccess">Additional users requiring read access:</label>
<input name="addreadaccess" type="text" id="it12" size="15" maxlength="15" />
<br />
<small>AD Username</small><br />
<div class="bgdiff">
<label for="addauthoraccess">Additional users requiring author access:</label>
<input name="addauthoraccess" type="text" id="it13" size="12" maxlength="12" />
<br />
<small>AD Username</small></div>
<br />
<label for="removeaccess">Users to be removed from access:</label>
<input name="removeaccess" type="text" id="it14" size="12" maxlength="12" />
<br />
<small>AD Username</small><br />
<div class="bgdiff">
<label for="supervisor"><span class="required">*Data Steward, Program Manager, Project Lead, or Supervisor who can authorize access changes:</span></label>
<input name="supervisor" type="text" id="it15" size="30" maxlength="30" />
<br />
<small>AD Username</small></div>
<br/>
<label for="phoneapprover"><span class="required">*Phone number of approving official: </span></label>
<input name="phoneapprover" type="text" id="it16" size="30" maxlength="30" />
<br />
<small>999-999-9999</small><br />
</fieldset>
</div>
在提交之前,我想让用户选择将所有这些信息添加到此表单中超过1倍。 (比如说最多10倍)我的脑子里有几个想法。 1使用Javascript创建新字段,然后用我的PHP脚本以某种方式解析它们。 2代表10代码剪切,就像代码中的上述形式一样,隐藏它们,直到用户点击ADD ANOTHER。
每个输入都需要是唯一的,因为我提交此信息时认为是一个简单的$ _REQUEST php脚本。 我理解如何使用1个输入和每个循环执行此操作,但我不确定如何使它与如此大量的输入,标签等一起工作...
<?php
foreach($_POST['newdata'] as $value) {
echo "$value <br />";
}
?>
任何人都有一些关于最佳方式的建议吗? 我不确定通过JS添加他的表单是最好的主意,所以只显示隐藏div中的新信息似乎更快更容易......
如果将[]
附加到表单字段名称,PHP将获取这些字段并将它们转换为数组,例如
<input type="text" name="field[]" value="first" />
<input type="text" name="field[]" value="second" />
<input type="text" name="field[]" value="third" />
会产生以下$ _POST结构:
$_POST = array(
'field' => array(
0 => 'first',
1 => 'second',
2 => 'third',
)
);
另一种方法是在为每个新块复制现有字段集时,为每个字段名称附加递增数字。 这提供了块之间的良好分离,并允许您保证相关字段具有相同的数字标记,但它确实使处理复杂化。
这并不困难:主要的想法是为每次迭代使用ID,因此您的输入将具有唯一的名称并且将被处理而没有问题
for ($i=0;$i<10;$i++){
echo "<input name='removeaccess' type='text' id='it14_{$i}' size='12' maxlength='12' />";
}
因此,您使用标签获取当前输入集的代码,并添加到每个循环迭代中形成的输入名称ID。 小心'
和"
!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.