我想在表单上显示最多10个电子邮件字段,但只能选择1到10个选项。
<form action="" method="post" name="select">
<select name="row">
<option value=1">1</option>
...
<option value="10">10</option
<input type="submit" name="select">
</form>
根据所选表格显示下一个表格
<form name="secondform">
<?php ... ?> <!--for loop depending on the value above-->
<input name="email>
</form>
答案 0 :(得分:0)
所以你有你的下拉列表,将该值提交给self或包含此内容的另一个php脚本:
$selected = $_POST['select'];
for($i = 0; $i<$selected; $i++){
echo "<input type='text' name='email$i'>";
}
$selected
是下拉菜单的值。
现在我们有一个for循环。它将$i
设置为零然后说$i
小于下拉值的值,将1
更多添加到$i
并运行echo "<input type='text' name='email$i'>";
如您所见,我将$i
添加到email
,以便每个字段都有自己唯一的名称。
您可以执行的操作与CP510一样,并将onchange='this.form.submit()'
添加到select标记,以便自动提交,我会将表单提交到同一页面。这意味着将选择菜单所用形式的动作设置为action="<?php echo $_SERVER['PHP_SELF']; ?>"
。
我强烈建议学习jQuery这样的东西。
这是jQuery(大多数只是简单的javascript)版本......它非常相似:
请确保将其放在html文件的头部:
<script src="http://code.jquery.com/jquery-latest.min.js"
type="text/javascript"></script>
<强> HTML:强>
<select id='selected' onchange='addFields();'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
</select>
<强>使用Javascript:强>
function addFields(){
var selected = $('#selected').val();
for(var i = 0; i<selected; i++){
document.write('<input type="text" name="email' + i + '">');
}
}