http://oshiete1.goo.ne.jp/qa2734284.html
を見たのですが、よく、分かりません。
簡単な電卓を作っていて、
テキストボックス内で、「backspace」ボタンを押すと、
文字が後ろから、一個ずつ、減っていくようにしたい。
javascriptどういう数式を書けば、
文字数を一個減らした文字列を代入できるのか、分かりません。
方法を教えてください。
No.2ベストアンサー
- 回答日時:
こんな感じでどうでしょうか?
// キー入力を掴むイベントハンドラ
document.onkeydown = function () {
// 押されたキーコードが0x08(BackSpace)の時かつ、
// テキストフィールドにフォーカスが当たっていない場合
if (event.keyCode == 0x08 && event.srcElement.type != "text") {
// BackSpaceキーを押された時の処理
pushBackSpase();
// BackSpaceキーの処理(前ページへ遷移)を無効とする
return false;
}
}
function pushBackSpase(){
// 末尾1文字削除して挿入
document.f.into.value=document.f.into.value.substr(0, document.f.into.value.length - 1);
}
この回答への補足
自分の考えていたものよりも、画期的なものでした。
間違えた所に、マウスをあわせて、その一つなら、削除できるのが、
すごかったです。
「Backspace」ボタンを押すと、一番後ろの文字が削除されると、
いうのが、自分の考えだったのですが…
キーボードの「Backspace」キーで
自然な動きが出来るほうが、いいと、思いました。
これ以上の議論は、自分のjavascriptの勉強不足もあるし、
おおやけの議論としては、達したと考えて、解決としたいと思います。
t_wadaさん、他のなやんでくれた方々、ありがとうございます。
No.1
- 回答日時:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …<html xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>サンプル</title>
</head>
<body>
<!-- 赤い部分に入力。テキストボックスからフォーカスが無くなった時一文字減らした文字列を代入するようにした-->
<p><input type="text" onBlur="this.value = this.value.substring(0,this.value.length - 1)" value="" style="background-color:red;" /></p>
</bodpy>
</html>
この回答への補足
<html>
<head>
<title>電卓</title>
<script type="text/javascript">
<!--
function push(alpha){
document.f.into.value=document.f.into.value+alpha;
}
//-->
</script>
<script language="JavaScript">
<!--
function calc() {
f.ans.value = eval(f.into.value);
}
// -->
</script>
</head>
<body>
<form name="f">
計算式:<br>
<input type="text" name="into" size="40" style="font-size:20; text-indent:20;"><br><br>
<input type="button" value=" 1 " style="height:30; width:30; font-size:20;" onClick="push('1')">
<input type="button" value=" 2 " style="height:30; width:30; font-size:20;" onClick="push('2')">
<input type="button" value=" 3 " style="height:30; width:30; font-size:20;" onClick="push('3')">
<input type="button" value=" 4 " style="height:30; width:30; font-size:20;" onClick="push('4')">
<input type="button" value=" 5 " style="height:30; width:30; font-size:20;" onClick="push('5')"><br>
<input type="button" value=" 6 " style="height:30; width:30; font-size:20;" onClick="push('6')">
<input type="button" value=" 7 " style="height:30; width:30; font-size:20;" onClick="push('7')">
<input type="button" value=" 8 " style="height:30; width:30; font-size:20;" onClick="push('8')">
<input type="button" value=" 9 " style="height:30; width:30; font-size:20;" onClick="push('9')">
<input type="button" value=" 0 " style="height:30; width:30; font-size:20;" onClick="push('0')"><br>
<input type="button" value=" + " style="height:30; width:30; font-size:20;" onClick="push('+')">
<input type="button" value=" - " style="height:30; width:30; font-size:20;" onClick="push('-')">
<input type="button" value=" * " style="height:30; width:30; font-size:20;" onClick="push('*')">
<input type="button" value=" / " style="height:30; width:30; font-size:20;" onClick="push('/')">
<input type="button" value=" . " style="height:30; width:30; font-size:20;" onClick="push('.')">
<input type="button" value=" ( " style="height:30; width:30; font-size:20;" onClick="push('(')">
<input type="button" value=" ) " style="height:30; width:30; font-size:20;" onClick="push(')')">
<br>
<br>
計算結果:<br>
<input type="text" name="ans" size="40" style="font-size:20; text-indent:20;"><br>
<br>
<input type="button" value="計算" style="height:30; width:100;" onClick="calc()"><br>
<br>
<input type="reset" value="リセット" style="height:30; width:100;"><br>
</form>
</body>
</html>
で、場合によってはエラーが出るんですが、
xhtmlとか、難しいのは使わなくて、
上のテキストボックスを打ち損じた時に、「backspace」ボタンで、
訂正できるようにしたいと思って、質問しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
メモのコツを教えてください!
メモを取るのが苦手です。 急いでメモすると内容がごちゃごちゃになってしまったり、ひどいときには全く読めない時もあります。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
あなたの習慣について教えてください!!
あなたが習慣だと思って実践しているものを共有してくださいませんか? 筋肉トレーニングでも朝シャワーでも、あなたが習慣だなと思えば何でも構いません
-
c# 文字列の最後から1文字削除したい
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SendKeys()が一番最後に実行さ...
-
innerHTML内では改行は禁止?
-
formのfileの値をhiddenでも持...
-
JSのボタンを複数う使うには
-
onchangeイベントを強制的に発...
-
クリックさせたいが、click()が...
-
if構文
-
ラジオボタンのチェックが外れ...
-
return trueとreturn falseの用...
-
テキストエリアに履歴を残したい
-
テーブル列の表示・非表示機能...
-
マウスをブラウザの外に出した...
-
クリックされた罫表セルの行番...
-
Selectボックスの一覧表示方法
-
【javascript・PHP】プルダウン...
-
VBScriptでHTMLのセレクトボッ...
-
テキストボックスに入力された...
-
プルダウン 項目が多いので先頭...
-
入力フォームに半角スペース以...
-
JavaScriptで取得した値について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
クリックさせたいが、click()が...
-
JavaScriptのfileオブジェクト...
-
formのfileの値をhiddenでも持...
-
onclickが動作しない
-
追加ボタンを押した際に ok ボ...
-
javaScriptの変数をJavaの変数...
-
innerHTML内では改行は禁止?
-
VB.NETで<Input>タグ、<text...
-
JQueryでfunctionに引数としてI...
-
JSのボタンを複数う使うには
-
ボタンかリンクをクリックする...
-
jQueryで設定したイベントハン...
-
onClickがinput type="image"だ...
-
ボタンをクリックして文字を置...
-
任意の<DIV></DIV>の中に計算結...
-
URL 判定
-
BackSpaceしたい(QNo.2734284の...
-
SendKeys()が一番最後に実行さ...
-
javascriptで作成されたテーブ...
おすすめ情報