想了解js对input框的可编辑属性设置的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于js设置input框不可编辑的相关问题,此外,我们还将为您介绍关于Angular.js组件之input
想了解js对input框的可编辑属性设置的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于js设置input框不可编辑的相关问题,此外,我们还将为您介绍关于Angular.js组件之input mask对input输入进行格式化详解、css input不可编辑是什么意思、css3怎么设置input不可编辑、css怎么修改input框的长度的新知识。
本文目录一览:- js对input框的可编辑属性设置(js设置input框不可编辑)
- Angular.js组件之input mask对input输入进行格式化详解
- css input不可编辑是什么意思
- css3怎么设置input不可编辑
- css怎么修改input框的长度
js对input框的可编辑属性设置(js设置input框不可编辑)
添加disabled属性
$(''#areaSelect'').attr("disabled",true);
$(''#areaSelect'').attr("disabled","disabled");
移除disabled属性
$(''#areaSelect'').attr("disabled",false);
$(''#areaSelect'').removeAttr("disabled");
$(''#areaSelect'').attr("disabled","");
本文同步分享在 博客“lxw1844912514”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
Angular.js组件之input mask对input输入进行格式化详解
前言
最近因为项目的需要,经常有一些对input输入进行格式化的需求,以前做的时候在js中写指令进行处理,但是这样又要在js或者在java代码中将请求的数据进行还原,很是麻烦,于是在网上看到了jquery的inputmask组件,觉得很好用,在项目中写出指令,用起来很方便。
方法如下:
在项目中引入jquery和jquery-inputmask,然后在项目中写指令,如下:
if (attrs.formatOption) {
var formatOption = scope.$eval(attrs.formatOption);
if (formatOption.parser) {
ngModel.$parsers.push(formatOption.parser);
}
if (formatOption.formatter) {
ngModel.$formatters.push(formatOption.formatter);
}
if (formatOption.isEmpty) {
ngModel.$isEmpty = formatOption.isEmpty;
}
}
var applyModel = function (fun) {
return function () {
(function (args) {
$timeout(function () {
var viewValue = elm.inputmask('unmaskedvalue');
if (viewValue !== ngModel.$viewValue) {
ngModel.$setViewValue(viewValue);
}
if (fun) {
fun.apply(scope,args);
}
});
})(Array.prototype.slice.call(arguments));
};
};
var extendOption = function (option) {
var newOption = angular.extend({},option);
angular.forEach(applyModelEvents,function (key) {
newOption[key] = applyModel(newOption[key]);
});
return newOption;
};
if (attrs.inputMask) {
maskType = scope.$eval(attrs.inputMask);
}
if (maskType) {
if (angular.isObject(maskType)) {
var maskOption = extendOption(maskType);
$timeout(function () {
elm.inputmask(maskOption);
});
} else {
var maskOption = extendOption(scope.$eval(attrs.maskOption) || {});
$timeout(function () {
elm.inputmask(maskType,maskOption);
});
}
}
elm.bind("blur",function(){
$timeout(function () {
if(attrs.isMask){
}else{
ngModel.$setViewValue(elm.inputmask('unmaskedvalue'));
}
});
});
}
}
});
});
如需要将银行卡号按银行卡格式显示:
html:
angular controller中cardOption:
如果日期表示的时候,将string直接转为data类型:
HTML代码:
另外,指令中的一些属性需要注意:
inputMask主要是制定页面展示的样式:如展示银行卡号的例子;
1、format-option主要是指定在格式化的时候解析、格式化和为空的时候,数据的格式;如日期处理,最后进行请求的时候就是传入data类型;
2、isMask主要是指定页面展示的是否是传入后台请求的数据,如卡号解析为XXXX XXXX XXXX XXXX,如果isMask为true则传入后台则为XXXX XXXX XXXX XXXX,否则为XXXXXXXXXXXXXXXX。
3、maskOption:指定页面展示的样式,同时也可以用回调,在完成和验证的时候做一些处理动作。如下:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小编的支持。
css input不可编辑是什么意思
在前端开发过程中,input 元素是最常用的表单控件之一。而在一些特殊情况下,我们需要限制用户对 input 元素进行修改,这时候我们通常会想到设置 input 元素的css 属性来实现这个需求,但实际上,这并不是可行的方案。
在 CSS 中,确实有一些相关的属性可以被用来控制 input 元素的行为和样式,如 disabled 和 readonly 属性。但这些属性本质上并不是修改 input 元素的CSS 属性,而是改变其允许的交互方式,达到禁止或只读的效果。
我们常常会尝试使用 CSS 属性来实现 input 不可编辑的需求,比如:
input { pointer-events: none; user-select: none; color: gray; background-color: #fafafa; }
这样的 CSS 代码看起来很直接,但实际上却无效,因为 CSS 样式不能直接控制 input 元素中的值。无论你怎么设置,使用 input 元素的 value 属性都可以在 JavaScript 中被修改。
那么,为什么不能直接在 CSS 中修改 input 元素的样式和值?这和 input 元素的特性和用途有关。
立即学习“前端免费学习笔记(深入)”;
首先, input 元素的值应该是由用户自主输入或从其他来源获取,而程序员不应该因为自己的需求而强行修改它。因此,只能通过设置 input 的 disabled 或 readonly 属性来确保其值不被修改。
同时, input 元素在设计之初就被赋予了与众不同的语义。在网页中, input 是用于获取用户输入数据的控件,输入的数据会被发送到后台服务器进行处理。如果程序员可以直接控制 input 的样式和值,那么就可能出现一些难以预料的风险,比如:
- 恶意程序可能会使用 JavaScript 或浏览器扩展来篡改 input 的值,从而以用户的名义提交不当数据;
- 网站恶意攻击者可能会通过 CSS 攻击来隐藏输入数据,骗取用户信息;
- 维护困难:在面对样式和值同时受到修改限制的情况下,维护这些 input 元素将变得十分困难。
因此,我们基本不能直接修改 input 元素的值。但是,在某些必要的情况下,我们仍然可以通过代码实现 input 的不可编辑状态。这里介绍几种常见的实现方式:
- 使用 disabled 属性
disabled 属性是 input 控件自身具备的,通过设置它会使得 input 元素变为灰色,并且无法被修改。这是因为不可用控件不会响应任何交互事件,包括点击和键盘输入。这是一种非常安全,易于实现的方法。
<input>
- 使用 readonly 属性
readonly 属性是另一种 input 控件自身具备的属性,和 disabled 相比,readonly 只是使 input 元素变成只读状态,并不会改变其外观。这意味着仍然可以使用 CSS 来修改 input 元素的样式,但是无法修改它的值。但是,该属性仅仅只影响用户,如果使用 JavaScript 或后端代码仍然可以修改值。
<input>
- 使用 JavaScript 进行监控
最后一种方法是使用 JavaScript 来防止 input 元素的值被修改。在用户输入后,我们可以通过 JavaScript 来存储输入的值,并禁用 input 元素,这样即使用户再次点击,input 元素也无法被修改。
<input><script> function storeInputValue(input) { input.setAttribute('value', input.value); input.setAttribute('disabled', 'disabled'); } </script>
在这种情况下,input 元素在输入值后立即变为不可用状态,用户无法再次修改其值。但是,需要注意的是,这不是一个非常完美的方案。
总结
通过上面的介绍,我们可以知道使用 CSS 属性来控制 input 元素的值不可编辑是无效的。虽然我们可以通过设置一些 input 控件自身具备的属性或者使用 JavaScript 监控 input 的方式来实现不可编辑的效果。但是这样做必须要慎重,因为 input 元素在设计之初就具备了极其重要的语义和功能,过度控制它们可能会产生意想不到的负面影响。
以上就是css input不可编辑是什么意思的详细内容,更多请关注php中文网其它相关文章!
css3怎么设置input不可编辑
在css3中,可用“pointer-events”属性设置input不可编辑,该属性可定义元素是否对指针做出反应,属性值设置为none时,元素不对指针事件做出反应,也即不可编辑,语法“input{pointer-events:none}”。
本教程操作环境:windows10系统、CSS3&&HTML5版本、Dell G3电脑。
css3怎么设置input不可编辑
pointer-events 属性定义元素是否对指针事件做出反应。
语法为:
pointer-events: auto|none;
属性值 描述如下:
立即学习“前端免费学习笔记(深入)”;
auto 默认值。元素对指针事件做出反应,比如 :hover 和 click。
none 元素不对指针事件做出反应。
initial 将此属性设置为其默认值。
inherit 从其父元素继承此属性。
示例如下;
<!DOCTYPE html> <html> <head> <style> .input1 { pointer-events: none; } .input2{ pointer-events: auto; } </style> </head> <body> 不可编辑:<input type="text"><br> 可编辑:<input type="text"> </body> </html>
输出结果:
(学习视频分享:css视频教程)
以上就是css3怎么设置input不可编辑的详细内容,更多请关注php中文网其它相关文章!
css怎么修改input框的长度
css修改input框长度的方法:1、在input标签中利用style属性设置width样式,语法“”;2、在style标签对中,设置“input{width:宽度值;}”语句即可。
本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
方法1:
利用style属性给input标签添加 width样式。
立即学习“前端免费学习笔记(深入)”;
<input type="text" /><br /><br /> <input type="text"/>
方法2:
<!DOCTYPE html> <html> <head> <style> .input {width: 100px;} </style> </head> <body> <input type="text" /><br /><br /> <input type="text"/> </body> </html>
(学习视频分享:css视频教程)
以上就是
关于js对input框的可编辑属性设置和js设置input框不可编辑的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Angular.js组件之input mask对input输入进行格式化详解、css input不可编辑是什么意思、css3怎么设置input不可编辑、css怎么修改input框的长度等相关内容,可以在本站寻找。
本文标签: