单击按钮时删除字符,除非输入值为0
Delete character on button click unless the input value is 0
目前我正在使用以下代码从输入显示中删除一个字符:
function deleteChar(input) {
input.value = input.value.substring(0, input.value.length - 1)
}
不幸的是,如果显示器只读取一个字符,则此功能在单击按钮时激活,将使输入显示为空白。在这种情况下,我希望它返回0。我尝试过以字符串长度为目标,但没有成功。如何修改此功能以达到预期效果?
function deleteChar(input) {
if(input.value.length == 1) {
input.value = 0;
} else {
input.value = input.value.substring(0, input.value.length - 1);
}
}
<input type="text" value="123" id="inputElement" />
<button onclick="deleteChar(document.getElementById('inputElement'))">Click</button>
如果你想要一个更短的版本,可以随意使用这个(包括一个三元运算符):
function deleteChar(input) {
input.value = input.value.length == 1 ? 0 : input.value.substring(0, input.value.length - 1);
}
你在寻找这样的东西吗:
function deleteChar(input) {
if(input.value.length == 1) return 0; //return 0 if there is only 1 character
input.value = input.value.slice(0, -1);
}
我会为此使用三元运算符:
function deleteChar(input) {
input.value = input.value.length === 1
? 0
: input.value.substr( 0, input.value.length - 1 )
;
}
我提出了另一个三元版本
function deleteChar(input) {
nV = input.value.substring(0, input.value.length - 1);
input.value = nV ? nV : 0;
}
代码说明:
将新值分配给变量
nV
基于三元算子分配
input.value
此任务等效于以下内容:
if (nV) {
input.value = nV;
} else {
input.value = 0;
}
相关文章:
- 更改输入按钮's onClick参数
- 通过提示中的循环触发iFrame中的输入按钮(JavaScript)
- 将 CSS 应用于禁用的输入按钮
- 仅对一个输入按钮禁用应用
- 不显示为表单元素的图像输入按钮的动态创建和appendChild
- 如果未选中复选框,则禁用引导输入按钮
- 如果从文件输入按钮调用 .ajaxSubmit() 时,它是必需的表单
- JavaScript - 输入按钮隐藏 - 不起作用
- 输入按钮分隔显示按钮名称和值
- 单击列表中的引导输入按钮将禁用其他按钮
- javascript的事件监听器将下拉列表转换为输入按钮
- 表单验证和提交时提交文本&输入按钮上带有验证的图像
- JQuery-防止表单在输入按钮上提交,out防止按键敲击
- 如何使用javascript移除/隐藏、更改输入按钮的标题
- 检查输入按钮
- 每当我按下输入框内的键盘输入按钮(其中有文本)时,都会出现新的段落
- 每当在文本区域上输入按钮时,都会触发按钮
- 如果 e.keyCode 是“输入”按钮,并且元素包含其他文本,则验证条件
- 单击输入按钮时更新文本区域内容
- 如何显示输入按钮并关闭当前窗口