有条件地设置可编辑或只读文本字段

时间:2016-04-22 03:33:00

标签: javascript php jquery json

如何有条件地启用或禁用可编辑字段(编辑/只读)?我使用数据库中的会话角色来为文本字段创建条件。但是,我不知道如何进行......

<?php
include('session.php');
?>

<tr class="row1">
<td width="30%"><div align="left">Customer name1</div></td>
<td width="100%">
    <div align="left">
        <input type="text" name="CMCNA1" id="CMCNA1" style="width:100%;" pattern="[A-Za-z]+" title="Please insert alphabetical only" maxlength="35"/>
    </div>
</td>

3 个答案:

答案 0 :(得分:0)

试试这个 - &gt;&gt;

<script type="text/javascript" >
function makerCheckerField()
{
var role= <?php echo $_SESSION['login_user_role']; ?>;
var maker="Maker";
if (role === maker) //  equal value and equal type
{
    $("#CMCNA2").attr("readonly", true);

} else {$("#CMCNA2").attr("readonly", false);}
}
 </script>

答案 1 :(得分:0)

你可以添加attribut readonly =“true”来使输入只读/不可编辑:

<input type="text" name="CMCNA1" id="CMCNA1" style="width:100%;" pattern="[A-Za-z]+" title="Please insert alphabetical only" maxlength="35" readonly="true" />

答案 2 :(得分:0)

我知道这是一个老帖子,但为了以防万一,对于那些有这种需求的人。 基于Narayan的代码,可能通过这样做(使用jquery):

<script type="text/javascript" >

function makerCheckerField()
{
    var role= <?php echo $_SESSION['login_user_role']; ?>;

    var maker='Maker';

    if (role === maker){
        $('#CMCNA1').attr('readonly', 'readonly');
    } else {
        $('#CMCNA1').removeAttr('readonly');
    }
} 
</script>

如果我没有错,readonly属性的作用类似于this

  

readonly =“readonly”或“”(空字符串)或为空       指定该元素表示不打算编辑其值的控件。

也许你必须正确管理角色的不同状态(如果你回到默认状态等会发生什么......)。

你也可以玩

.setAttribute, .getAttribute and .removeAttribute

我不知道这是不是你想要的。