1

ユーザーから入力を取得しています。たとえば、次のような電話番号です。

HTML:

   <input id="number_input"  type="text" size="12" maxlength="19" />

JavaScript:

    var i = 0;
    var phone_number = [];
    document.getElementById('number_input').value+=digit;
    phone_number[i]= digit ;
    i = i+1;

そして、ユーザーが次のように現在の入力を削除できるようにします。

   function delete_num ()
  {
     document.getElementById('number_input').value=' ';
     phone_number.length=0;
     return false;
  }

しかし、この場合、すべての入力データを削除していますが、delete_num 関数を有効にして入力を 1 つずつ削除するにはどうすればよいですか?

ありがとう。

4

6 に答える 6

3

これは [Backspace] ボタンのように機能し、number_input フィールドから最後の文字を削除します。

function delete_num ()
{
    var field = document.getElementById('number_input');
    field.value = field.value.slice(0, -1); //Extract from index 0 to the before-last character
    phone_number.pop(); //Remove the last element from the phone number. It's length is maintained by js itself.
    return false; //What's this for?
}
于 2012-11-20T08:13:43.427 に答える
3
function delete_num() {
  var input, num;
  input = document.getElementById('number_input');
  num = input.value;
  input.value = num.slice(0,num.length-1);
  return false;
}
于 2012-11-20T08:15:10.223 に答える
1

これを試して:

var input = document.getElementById('number_input');
input.value = input.value.slice(0, -1);
于 2012-11-20T08:36:11.687 に答える
1

これが必要なものだとします:

function delete_num ()
  {
     var val = document.getElementById('number_input').value;
     val = val.susbtr(0,val.length - 1);
     phone_number.length = val.length;
     document.getElementById('number_input').value = val;
     return false;
  }
于 2012-11-20T08:13:44.013 に答える
1

バックスペース機能を再作成していると仮定します...

function delete_num()
{
   var text = document.getElementById('number_input').value;
   document.getElementById('number_input').value = text.substring(0, text.length - 2);
   phone_number.length = 0; //not sure what this is...
   return false;
}
于 2012-11-20T08:14:04.283 に答える