GVKun编程网logo

js对input框的可编辑属性设置(js设置input框不可编辑)

16

想了解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框不可编辑)

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输入进行格式化详解

Angular.js组件之input mask对input输入进行格式化详解

前言

最近因为项目的需要,经常有一些对input输入进行格式化的需求,以前做的时候在js中写指令进行处理,但是这样又要在js或者在java代码中将请求的数据进行还原,很是麻烦,于是在网上看到了jquery的inputmask组件,觉得很好用,在项目中写出指令,用起来很方便。

方法如下:

在项目中引入jquery和jquery-inputmask,然后在项目中写指令,如下:

rush:js;"> define(['./module'],function (directives) { 'use strict'; directives.directive('inputMask',function ($timeout) { return { restrict: 'EA',require: 'ngModel',link: function (scope,elm,attrs,ngModel) { var applyModelEvents = [ "oncomplete","onKeyUp","onkeyvalidation" ],maskType = "mask";

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:

rush:xhtml;">

angular controller中cardOption:

rush:js;"> $scope.cardOption = { mask: function () { return ["9999 9999 9999 9999 [999]"]; }};

如果日期表示的时候,将string直接转为data类型:

rush:js;"> $scope.dateFormatOption = { parser: function (viewValue) { return viewValue ? new Date(viewValue) : undefined; },formatter: function (modelValue) { if (!modelValue) { return ""; } var date = new Date(modelValue); return (date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate()).replace(/\b(\d)\b/g,"0$1"); },isEmpty: function (modelValue) { return !modelValue; } };

HTML代码:

rush:xhtml;">

另外,指令中的一些属性需要注意:

inputMask主要是制定页面展示的样式:如展示银行卡号的例子;

 1、format-option主要是指定在格式化的时候解析、格式化和为空的时候,数据的格式;如日期处理,最后进行请求的时候就是传入data类型;

 2、isMask主要是指定页面展示的是否是传入后台请求的数据,如卡号解析为XXXX XXXX XXXX XXXX,如果isMask为true则传入后台则为XXXX XXXX XXXX XXXX,否则为XXXXXXXXXXXXXXXX。

3、maskOption:指定页面展示的样式,同时也可以用回调,在完成和验证的时候做一些处理动作。如下:

rush:js;"> $scope.testoption = { "mask": "99-9999999","oncomplete": function () { console.log(); console.log(arguments,"oncomplete!this log form controler"); },"onkeyvalidation": function () { console.log("onkeyvalidation event happend! this log form controler"); } }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小编的支持。

css input不可编辑是什么意思

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 的样式和值,那么就可能出现一些难以预料的风险,比如:

  1. 恶意程序可能会使用 JavaScript 或浏览器扩展来篡改 input 的值,从而以用户的名义提交不当数据;
  2. 网站恶意攻击者可能会通过 CSS 攻击来隐藏输入数据,骗取用户信息;
  3. 维护困难:在面对样式和值同时受到修改限制的情况下,维护这些 input 元素将变得十分困难。

因此,我们基本不能直接修改 input 元素的值。但是,在某些必要的情况下,我们仍然可以通过代码实现 input 的不可编辑状态。这里介绍几种常见的实现方式:

  1. 使用 disabled 属性

disabled 属性是 input 控件自身具备的,通过设置它会使得 input 元素变为灰色,并且无法被修改。这是因为不可用控件不会响应任何交互事件,包括点击和键盘输入。这是一种非常安全,易于实现的方法。

<input>
登录后复制
登录后复制
  1. 使用 readonly 属性

readonly 属性是另一种 input 控件自身具备的属性,和 disabled 相比,readonly 只是使 input 元素变成只读状态,并不会改变其外观。这意味着仍然可以使用 CSS 来修改 input 元素的样式,但是无法修改它的值。但是,该属性仅仅只影响用户,如果使用 JavaScript 或后端代码仍然可以修改值。

<input>
登录后复制
登录后复制
  1. 使用 JavaScript 进行监控

最后一种方法是使用 JavaScript 来防止 input 元素的值被修改。在用户输入后,我们可以通过 JavaScript 来存储输入的值,并禁用 input 元素,这样即使用户再次点击,input 元素也无法被修改。

<input><script>
  function storeInputValue(input) {
    input.setAttribute(&#39;value&#39;, input.value);
    input.setAttribute(&#39;disabled&#39;, &#39;disabled&#39;);
  }
</script>
登录后复制

在这种情况下,input 元素在输入值后立即变为不可用状态,用户无法再次修改其值。但是,需要注意的是,这不是一个非常完美的方案。

总结

通过上面的介绍,我们可以知道使用 CSS 属性来控制 input 元素的值不可编辑是无效的。虽然我们可以通过设置一些 input 控件自身具备的属性或者使用 JavaScript 监控 input 的方式来实现不可编辑的效果。但是这样做必须要慎重,因为 input 元素在设计之初就具备了极其重要的语义和功能,过度控制它们可能会产生意想不到的负面影响。

以上就是css input不可编辑是什么意思的详细内容,更多请关注php中文网其它相关文章!

css3怎么设置input不可编辑

css3怎么设置input不可编辑

在css3中,可用“pointer-events”属性设置input不可编辑,该属性可定义元素是否对指针做出反应,属性值设置为none时,元素不对指针事件做出反应,也即不可编辑,语法“input{pointer-events:none}”。

css3怎么设置input不可编辑

本教程操作环境:windows10系统、CSS3&&HTML5版本、Dell G3电脑。

css3怎么设置input不可编辑

pointer-events 属性定义元素是否对指针事件做出反应。

语法为:

pointer-events: auto|none;
登录后复制

属性值 描述如下:

立即学习“前端免费学习笔记(深入)”;

示例如下;

<!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>
登录后复制

输出结果:

+5.gif

(学习视频分享:css视频教程)

以上就是css3怎么设置input不可编辑的详细内容,更多请关注php中文网其它相关文章!

css怎么修改input框的长度

css怎么修改input框的长度

css修改input框长度的方法:1、在input标签中利用style属性设置width样式,语法“”;2、在style标签对中,设置“input{width:宽度值;}”语句即可。

css怎么修改input框的长度

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

css修改input框长度的方法

方法1:

利用style属性给input标签添加 width样式。

立即学习“前端免费学习笔记(深入)”;

<input type="text" /><br /><br />
<input type="text"/>
登录后复制

1.png

方法2:

<!DOCTYPE html>
<html>
	<head>
		<style>
			.input {width: 100px;}
		</style>
	</head>
	<body>
		<input type="text" /><br /><br />
		<input type="text"/>
	</body>
</html>
登录后复制

2.png

(学习视频分享:css视频教程)

以上就是css怎么修改input框的长度的详细内容,更多请关注php中文网其它相关文章!

关于js对input框的可编辑属性设置js设置input框不可编辑的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Angular.js组件之input mask对input输入进行格式化详解、css input不可编辑是什么意思、css3怎么设置input不可编辑、css怎么修改input框的长度等相关内容,可以在本站寻找。

本文标签: