我正在尝试创建一个带有文本字段和下拉列表的表单。对于文本字段,我使用以下代码:
<label for="name">Name</label>
<input type="text" id="name" name="name" value="<?php echo $user->name;?>" style="width:95%;"/>
然后,表单检查用户是否填写了"名称"字段:
$name = $input->get('name', null);
if($name == null)
return false;
这适用于表单使用的多个文本字段,但我不知道如何在下拉列表中检查用户输入。我如何发送用户选择的选项,类似于我对文本字段的处理方式,这样我就可以检查以确保用户选择了什么?示例:
<label for="department">Department</label>
<select name="department" form="quickcontact_frm">
<option value="default">Select </option>
<option value="1"><?php echo $params->get('department1');?></option>
<option value="2"><?php echo $params->get('department2');?></option>
<option value="3"><?php echo $params->get('department3');?></option>
<option value="4"><?php echo $params->get('department4');?></option>
<option value="5"><?php echo $params->get('department5');?></option>
<option value="6"><?php echo $params->get('department6');?></option>
<option value="7"><?php echo $params->get('department7');?></option>
<option value="8"><?php echo $params->get('department8');?></option>
</select>
$department1 = $input->get('department1', null);
$department2 = $input->get('department2', null);
Etc........
据我所知,这是以与文本字段完全相同的方式设置的,但不起作用,而且似乎是一种糟糕的方式。
如果你想验证并预选一个选项,你应该这样做:
<option value="6" <?php if($params->get('department6')==true){ echo 'selected'; } ?>><?php echo $params->get('department6');?></option>
首先,您可以使用for循环,而不是为部门设置8行。
<select name="department" form="quickcontact_frm">
<option value="default">Select </option>
<?php for($i=1; $i<=8; $i++): ?>
<option value="<?php echo $i; ?>"><?php echo $params->get('department' . $i);?></option>
<?php endfor; ?>
</select>
现在,在for循环中,您可以添加一个检查$input->get
是否为true。
<?php if($input->get('department' . $i, null)) echo 'selected'; ?>
因此,如果将两者混合在一起,结果将是
<select name="department" form="quickcontact_frm">
<option value="default">Select </option>
<?php for($i=1; $i<=8; $i++): ?>
<option value="<?php echo $i; ?>" <?php if($input->get('department' . $i, null)) echo 'selected'; ?>><?php echo $params->get('department' . $i);?></option>
<?php endfor; ?>
</select>
如果您想要一个"预先选择的"选项,请在您想要的选项中使用"已选择的":
<select name="department" form="quickcontact_frm">
<option value="default">Select </option>
<option value="1"><?php echo $params->get('department1');?></option>
<option value="2"><?php echo $params->get('department2');?></option>
<option value="3"><?php echo $params->get('department3');?></option>
<option value="4" selected><?php echo $params->get('department4');?></option>
<option value="5"><?php echo $params->get('department5');?></option>
<option value="6"><?php echo $params->get('department6');?></option>
<option value="7"><?php echo $params->get('department7');?></option>
<option value="8"><?php echo $params->get('department8');?></option>
</select>
正如W3C学校所解释的。