所以我有25个HTML字段(文本,下拉菜单,选择等...) 我需要这些根据他们的级别向用户显示,有些可能会显示一些可能没有,到目前为止只有我想出的选项是使用if语句在加载字段之前检查用户级别,例如:
if(userLevel == 1 || userLevel == 2){
echo("<input type='text' name='phoneNumber'/>");
但是在我这样做之后,代码结果很长而且很乱,有没有办法给每个字段提供某种ID和页面加载,根据用户级别加载那些具有特定ID的字段?< / p>
相同的JS字段验证,无论如何都要给每个字段ID(比如电子邮件,网址),以便自动验证,而不是在每个字段上编写和调用onChange?
答案 0 :(得分:0)
有很多方法。
对于快速解决方案,您可以使用数组和循环,例如:
function dumpForm($userLevel) {
$fields = array(
'name' => array(
'type' => 'text',
'level' => 2,
'value' => ''
),
'phone' => array(
'type' => 'text',
'level' => 1,
'value' => ''
),
'email' => array(
'type' => 'text',
'level' => 1,
'value' => 'email@example.org'
)
);
foreach ($fields as $name => $data) {
extract($data);
if ($level <= $userLevel)
echo "<input type='$type' name='$name' value='$value'/>\n";
}
}
echo "\nForm (level 1):\n";
dumpForm(1);
echo "\nForm (level 2):\n";
dumpForm(2);
您还可以向数组添加其他字段以进行javascript验证,或者根据type
字段添加一些逻辑(例如,当类型为number
时,生成带有数字的text
条目验证)。