Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击按钮时删除字符,除非输入值为0_Javascript_Jquery - Fatal编程技术网

Javascript 单击按钮时删除字符,除非输入值为0

Javascript 单击按钮时删除字符,除非输入值为0,javascript,jquery,Javascript,Jquery,目前,我正在使用以下代码从输入显示中删除字符: function deleteChar(input) { input.value = input.value.substring(0, input.value.length - 1) } 不幸的是,如果显示仅读取一个字符,则在单击按钮时激活此功能将使输入显示留空。我希望它在这种情况下返回0。我尝试过确定字符串长度,但没有成功。如何修改此函数以达到所需的效果?您是否正在寻找类似以下内容: function deleteChar(input) {

目前,我正在使用以下代码从输入显示中删除字符:

function deleteChar(input) {
  input.value = input.value.substring(0, input.value.length - 1)
}

不幸的是,如果显示仅读取一个字符,则在单击按钮时激活此功能将使输入显示留空。我希望它在这种情况下返回0。我尝试过确定字符串长度,但没有成功。如何修改此函数以达到所需的效果?

您是否正在寻找类似以下内容:

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) {
    if(input.value.length == 1) return 0;         //return 0 if there is only 1 character
    input.value = input.value.slice(0, -1);
}
函数deleteCharinput{ ifinput.value.length==1{ input.value=0; }否则{ input.value=input.value.substring0,input.value.length-1; } } 点击 函数deleteCharinput{ ifinput.value.length==1{ input.value=0; }否则{ input.value=input.value.substring0,input.value.length-1; } }
单击我将使用三元运算符:

function deleteChar(input) {
    input.value = input.value.length === 1 
      ? 0 
      : input.value.substr( 0, input.value.length - 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;
}

我提议另一个三元版本

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;
}

你能重新措辞你的问题吗?或者只是我没有达到他的目标?你能重新表述你的问题吗?还是只是我没有达到他的目标?谢谢!没错。@newbie2015没问题!如果可以,请随时将其标记为正确答案:谢谢!没错。@newbie2015没问题!如果可以,请随时将其标记为正确答案: