Javascript 如何使用可以';不能删除,但允许用户在输入后写入
我正在使用Angularjs和bootstrap创建一些表单,我想用一个无法删除的默认值初始化一个输入 我不想使输入成为只读或禁用它,我想用一些无法删除的文本初始化输入,但让用户在此文本后写入 范例 代码:xyz用户想要写的任何文本 我希望用户不能删除“xyz”,但他可以在之后再写 它Javascript 如何使用可以';不能删除,但允许用户在输入后写入,javascript,angularjs,html,twitter-bootstrap,twitter-bootstrap-3,Javascript,Angularjs,Html,Twitter Bootstrap,Twitter Bootstrap 3,我正在使用Angularjs和bootstrap创建一些表单,我想用一个无法删除的默认值初始化一个输入 我不想使输入成为只读或禁用它,我想用一些无法删除的文本初始化输入,但让用户在此文本后写入 范例 代码:xyz用户想要写的任何文本 我希望用户不能删除“xyz”,但他可以在之后再写 它 编辑 默认值不能删除我的意思是该值必须是不可删除的,即使用户按delete键删除,它也必须保留在输入字段中。“xyz-”文本必须永久保留在输入中,用户只能删除他在“xyz-”之后写入的文本。您只需检查默认值:
编辑
默认值不能删除我的意思是该值必须是不可删除的,即使用户按delete键删除,它也必须保留在输入字段中。“xyz-”文本必须永久保留在输入中,用户只能删除他在“xyz-”之后写入的文本。您只需检查
默认值
:
angular
.module('MyApp',[])
.controller('MyController',函数($scope){
var defaultValue='xyz-';
$scope.proyect={};
$scope.proyect.code=默认值;
$scope.checkDefaultValue=函数(){
if(!$scope.proyect.code | | defaultValue!==$scope.proyect.code.substring(0,4)){
$scope.proyect.code=默认值;
}
};
});代码>
这对于JS来说是很棘手的,因为您需要进行一些光标位置跟踪、屏蔽和所有其他逻辑
为什么不伪造它,让一个div看起来像一个输入,前缀文本作为标签在左边?右边是无边界输入
。假输入{
边框:1px实心#333;
填充:0.5雷姆;
字体系列:无衬线;
字号:1rem;
}
.假输入{
边界:0;
大纲:0;
字体系列:无衬线;
字号:1rem;
左侧填充:0;
右边填充:0;
}
xyz-
我更新了我的问题,如果用户按delete键,则无法删除默认值
<input class="form-control" placeholder="write the code"
name="code"
ng-model="proyect.code"
required>