Javascript 已禁用内联文本的编辑
我有一个字段是内联可编辑的。我使用jQuery来实现这一点Javascript 已禁用内联文本的编辑,javascript,jquery,Javascript,Jquery,我有一个字段是内联可编辑的。我使用jQuery来实现这一点 $el.on("click", ".editableTxt", function () { var currElmModelId = $(this).attr('data-model-id'); var currElmModelAttr = $(this).attr('data-model-attr'); var input = $('<input />', { 'type': 'te
$el.on("click", ".editableTxt", function () {
var currElmModelId = $(this).attr('data-model-id');
var currElmModelAttr = $(this).attr('data-model-attr');
var input = $('<input />', {
'type': 'text',
'name': currElmModelAttr,
'data-model-id': currElmModelId,
'data-model-attr': currElmModelAttr,
'class': 'editBox',
'style': 'width:60px',
'value': $(this).html()
});
$(this).parent().append(input);
$(this).remove();
input.focus();
});
$el.on(“单击“,”.editableTxt”,函数(){
var currElmModelId=$(this.attr('data-model-id');
var currElmModelAttr=$(this.attr('data-model-attr');
变量输入=$(''{
“类型”:“文本”,
“名称”:currElmModelAttr,
“数据模型id”:currElmModelId,
“数据模型属性”:currElmModelAttr,
“类”:“编辑框”,
“样式”:“宽度:60px”,
'value':$(this.html())
});
$(this.parent().append(输入);
$(this.remove();
input.focus();
});
我的问题是我需要添加一个权限检查…所以有两种可能性(查看和更新)
所以,如果用户只有view priv,他只会看到静态文本,如果他点击文本,什么也不会发生。
但是,如果用户有updatepriv,他将看到静态文本,单击后,上面的jquery函数将启动,他应该能够使用内联文本进行编辑
将其与上述代码合并的最佳方式是什么?您的匿名函数需要某种方式来知道它是否应该在不进行编辑的情况下返回 一种方法是,如果用户没有权限,则在生成
时,在上设置disabled
属性
然后,javascript函数可以具有:
if ($(this).attr('disabled'))
return;
只要确保在数据进入时检查服务器端的权限,因为恶意用户可能会改变浏览器端的字段,而不管您如何努力。取决于权限的检查方式,并且可以使用一个简单的if块来处理此问题
var editPermissions = true; //false depending on the permission
$("#html").on("click", ".editableTxt", function () {
if (editPermissions) {
var currElmModelId = $(this).attr('data-model-id');
var currElmModelAttr = $(this).attr('data-model-attr');
var input = $('<input />', {
'type': 'text',
'name': currElmModelAttr,
'data-model-id': currElmModelId,
'data-model-attr': currElmModelAttr,
'class': 'editBox',
'style': 'width:60px',
'value': $(this).html()
});
$(this).parent().append(input);
$(this).remove();
input.focus();
}
});
var editpowpermissions=true//false取决于权限
$(“#html”)。在(“.click”,“.editableTxt”,函数(){
如果(编辑权限){
var currElmModelId=$(this.attr('data-model-id');
var currElmModelAttr=$(this.attr('data-model-attr');
变量输入=$(''{
“类型”:“文本”,
“名称”:currElmModelAttr,
“数据模型id”:currElmModelId,
“数据模型属性”:currElmModelAttr,
“类”:“编辑框”,
“样式”:“宽度:60px”,
'value':$(this.html())
});
$(this.parent().append(输入);
$(this.remove();
input.focus();
}
});