有条件地设置可编辑或只读文本字段
How to conditionally enable or disable to editable field (edit/read only)? I used session role from database to make condition on the text field. However, I don't know how to proceed it...
<?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>
I know it's an old post, but just in case, for those who have this needs. Base on the code of Narayan, maybe by doing this (with 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>
If I am not wrong the readonly
property works like this :
readonly = "readonly" or "" (empty string) or empty Specifies that element represents a control whose value is not meant to be edited.
Maybe you will have to manage correctly the differents states of roles (what happens if you came back to the default state etc...).
You can also play with
.setAttribute, .getAttribute and .removeAttribute
I don't know if this is what you was looking for.
Try this -->>
<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>
you can add attribut readonly="true" to make the input readonly/not editable:
<input type="text" name="CMCNA1" id="CMCNA1" style="width:100%;" pattern="[A-Za-z]+" title="Please insert alphabetical only" maxlength="35" readonly="true" />