寻找一种快速方法,使我的所有表单字段只读

时间:2013-11-04 17:39:51

标签: javascript php

我有一个表单,其中包含只应为某些用户类型读取的字段。现在,我将此代码添加到每个字段:

<?php if($_SESSION['userFlag'] == 2 || $_SESSION['userFlag'] == 3) { ?> readonly <?php } ?>

这有效,还有一些隐藏变量可以确保数据仍然写入数据库,但我想知道是否有更快的方法来锁定这些字段。我的应用程序中的一个表单有近百个字段,能够在没有这么多重复的情况下执行此操作会很好。

1 个答案:

答案 0 :(得分:1)

您不应该对每一行执行检查。尝试将值赋给变量:

<?php
    if($_SESSION['userflag'] === 2 || $_SESSION['userflag'] === 3){
        $readonly = ' readonly';
    }
?>

然后在您的HTML上添加该行:

<input type="text"<?php echo $readonly; ?> />

如果该标志不是23,则它只是空白,但如果是,那么它将打印readonly。这样您只需在顶部执行一次检查。

另一个可能的改进是使用in_array,它返回一个布尔值:

<?php
    $readOnlyFlags = array(2,3);

    if(in_array($_SESSION['userflag'],$readOnlyFlags)){
        $readonly = ' readonly';
    }
?>

通过这种方式,您可以轻松更改或添加符合readonly条件的标记,并且还可以提高性能。