2016-04-22 133 views
1

如何有條件地啓用或禁用可編輯字段(編輯/只讀)?我使用數據庫中的會話角色來創建文本字段的條件。不過,我不知道如何繼續它...有條件地設置可編輯或只讀文本字段

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

+1

你應該一次詢問一個具體的問題 –

+0

請給你一些代碼你已經嘗試過,並且具體關於這個問題。我沒有得到你真正想要的東西。 –

+0

非常感謝您糾正我〜我仍然無法弄清楚解決方案,任何人的幫助都非常感謝。 –

回答

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

只讀= 「只讀」 或 「」 (空字符串)或空 指定該元素表示其值不打算編輯的控件。

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

您還可以

.setAttribute, .getAttribute and .removeAttribute 

玩,我不知道這是不是你在找什麼。

0

試試這個 - >>

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

儘管我登錄id屬性仍然可以編輯的文本字段是「Maker」。任何想法?我仍然無法弄清楚解決方案。非常感謝您的幫助。 –

+0

@JacobChong嘗試===如果條件檢查\t等值和相等的類型。我也添加了代碼。 – Narayan

0

您可以添加attribut只讀= 「真」,使輸入只讀/不可編輯:

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

這不是有條件地設置文本字段〜我在這個問題上測量的是根據客戶角色有條件地將文本字段設置爲可編輯或只讀 –