簡體   English   中英

有條件地設置可編輯或只讀文本字段

[英]Conditionally set editable or readonly text field

如何有條件地啟用或禁用可編輯字段(編輯/只讀)? 我使用數據庫中的會話角色來為文本字段創建條件。 但是,我不知道如何進行......

<?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>

試試這個 - >>

<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>

你可以添加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" />

我知道這是一個老帖子,但為了以防萬一,對於那些有這種需求的人。 根據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屬性的工作原理是這樣

readonly =“readonly”或“”(空字符串)或空指定該元素表示不打算編輯其值的控件。

也許你必須正確管理角色的不同狀態(如果你回到默認狀態等會發生什么......)。

你也可以玩

.setAttribute, .getAttribute and .removeAttribute

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM