• ベストアンサー

数値以外の入力をさせないようにした後・・・

makokokoの回答

  • ベストアンサー
  • makokoko
  • ベストアンサー率50% (7/14)
回答No.3

function keyCheck(keyCodes){ if((keyCodes >= 49 && keyCodes <= 57) || (keyCodes >= 96 && keyCodes <= 105) || keyCodes == 46 || keyCodes == 8) return true; else return false; } ONKEYDOWN="return keyCheck(event.keyCode);" コンナンデマシタケド~

lovelypooh
質問者

お礼

切って貼って実行するだけの、ありがたいソースをありがとうございます。 46と8はdelとbackspaceのキーコード値というのはわかりましたが 96~105は何を指しているのでしょう? 私の手元にあるOnkeydownキーコード表は「'」と「a~i」を指しているのです。 おっと、それはまた別の質問になってしまうので、まず調べてみることにします。 丁寧かつ親切な回答をありがとうございました。 これからもよろしくお願いします(ペコリ)。

関連するQ&A

  • onKeyDownで数値チェック

    数値の入力チェックを行っています。 入力時にタブで飛んだ時にチェックをかけるので関数として設定しておき、フォームではonKeyDownで呼び出すことが前提です。(onBlueは不可) この時下記のプログラムでは、アルファベットの上に並んでいる数値での入力チェックはうまくいくのですが、以下の(1)~(3)で制限があるようで、思ったように動きません。 どなたかいいお知恵がある方は是非お願いいたします。 ********************** アルファベットの上に並んでいる数値のみ有効としているが、 (1)テンキーの数字キー (2)タブキー (3)バックスペースキー も有効としたい。 下記の例にこだわる必要はないが、 onKeyDownで呼び出すことが条件。 <script Language="JavaScript"><!-- function checkNum() { c = String.fromCharCode(event.keyCode); if ("0123456789".indexOf(c,0) < 0) alert("数値以外入力できません"); } // --></script> </head> <body> <form> <input type="text" onKeyDown="checkNum()"> </form> </body> </html>

  • テキストフィールドに半角数値以外入力させない方法…。

    お世話になります! JavaScriptで、 function checkNum() {  c = String.fromCharCode(event.keyCode);  if ("0123456789".indexOf(c,0) < 0) alert("数値以外入力できません"); } と記述し、実行してみたのですが確かに数値以外は入力できないのですが BackSpaceやEnterキー、Tabキーを押した時にもアラートが発生します…。 本を見て、 function checkNum() {  c = String.fromCharCode(event.keyCode);  if ("0123456789".indexOf(c,0) < 0) return false; return true; } と記述すると、フォーム自体に半角数字しか入力できなくなると書いてあったのですが 実行しても普通に全角入力できました…。(泣) 何か方法ありますか?ご存知の方、宜しくご教授願います★ ちなみに、勿論<input>部分にonKeyDown="***()"の記述はしてますし JavaScriptが有効な状態での実行です。

  • テキストフィールドの入力規則(数値チェック)

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=143226 を参考にさせていただいて、以下のコードで実行してみました。 =============================== <BODY> <FORM NAME="f" ACTION="UPDATE" METHOD="POST" TARGET="FRAME_D" onSubmit="return conf();"> <INPUT TYPE="TEXT" NAME="FM_KINGAKU" onKeyDown="return keyCheck(event.keyCode);" > <SCRIPT TYPE="text/javascript" SRC="./JS.SOURCE"></SCRIPT> <SCRIPT TYPE="text/javascript"> <!-- function keyCheck(keyCodes){ if((keyCodes >= 49 && keyCodes <= 57) || (keyCodes >= 96 && keyCodes <= 105) || keyCodes == 46 || keyCodes == 8) return true; else return false; } function conf(WK_LINEINDEX){ /* 省略 */ } // --> </SCRIPT> </FORM> </BODY> =============================== しかし、数値以外のキーを押しても何事もなかったかのように 入力できてしまうのです。 前の質問者のlovelypoohさんは解決されたみたいなんですが、 いったい何が違うのでしょう? onSubmit="return conf();" ってのと onKeyDown="return keyCheck(event.keyCode);" ってのが 同じFORMタグの中にある、とか関係あるのでしょうか?

  • HTMLのtextで半角数字のみ入力OKにする方法

    お世話になります。 Windows、VisualStudio2015のASP.NET(VisualBasic)、.NET Framework4.6、 ローカルIIS、ブラウザはGoogleChrome、IE、で開発しています。 1つのページに1つのtext(ASP.NETではTextBox、名称はtxtTest)を置き、 半角数字のみ入力できるように、function(名称はnumOnly())を設定します。 HTMLのソースは以下の通りです。 functionは、<head><script></script></head> に書いてあります。 -------------------- ・・・ <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script> <!-- // 半角数値のみを入力可能にする function numOnly() { m = String.fromCharCode(event.keyCode); if("0123456789\b\r".indexOf(m, 0) < 0) return false; return true; } //--> </script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="txtTest" runat="server"></asp:TextBox>・・・※A </div> </form> </body> </html> -------------------- また、プログラムにおいては、 ページをロードする際に、 次のコードを実行します。 ASP.NETのTextBoxには、onkeydown属性がないからです。 ページ実行時に属性を追加します。 -------------------- Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load txtTest.Attributes.Add("onkeydown", "return numOnly()") End Sub -------------------- また、ブラウザで実行しますと、上記の※Aの部分のソースは、 以下のようになります。 -------------------- <input name="txtTest" type="text" id="txtTest" onkeydown="return numOnly()" /> -------------------- これにより、パソコンのキーボードの上の方に横に並んでいる数字キーで、 半角数字のみ入力はできるようになったのですが、 テンキーでの半角数字入力ができません。 これをできるようにしたいのですが、 何か適切な方法がございましたら、 ご教示いただけたら幸いです。 どうそよろしくお願いします。 (functionの参照元) http://javascript.eweb-design.com/1205_no.html <SCRIPT>という(大文字)はASP.NETでは適切でないようで、小文字に。 「language="JAVASCRIPT"」の個所もエラーになるため外してあります。

  • returnの戻り値について

    以前の質問を見ていてひとつわからないことがあるのです。 内容をそのままコピーしたのですが、この場合、キーが押されたときに関数を呼び出し、 returnで戻り値が「true/false」とありますが、戻ってきたときはどこにtrue/falseが入っているのですか? <BODY> <FORM NAME="f" ACTION="UPDATE" METHOD="POST" TARGET="FRAME_D" onSubmit="return conf();"> <INPUT TYPE="TEXT" NAME="FM_KINGAKU" onKeyDown="return keyCheck(event.keyCode);" > <SCRIPT TYPE="text/javascript" SRC="./JS.SOURCE"></SCRIPT> <SCRIPT TYPE="text/javascript"> <!-- function keyCheck(keyCodes){ if((keyCodes >= 49 && keyCodes <= 57) || (keyCodes >= 96 && keyCodes <= 105) || keyCodes == 46 || keyCodes == 8) return true; else return false; } // --> </SCRIPT> </FORM> </BODY>

  • checkbox の入力チェックのやり方について

    お世話になります。 フォームにて、 javascriptで、入力チェックをおこないたいと思っています。 チェックボックスについては、どれか選択が一つでもなければ、アラートで、文字を出したいと思いますが、うまくできません。 チェックボックスの入力確認の方法を教えてください。 よろしくお願いいたします。 現在作りかけのソースは、下記の通りです。 <html> <head><title>-</title></head> <body> <form method="post" action="" onsubmit="return form_Validator(this)"> <input type="text" name="a1" size="15" maxlength="12"> <BR> <input type="checkbox" name="a1001" value="1"> <input type="checkbox" name="a1002" value="1"> <input type="submit" value="登録" name="submit"> </form> <script Language="JavaScript"> <!-- function form_Validator(doc) { if ( doc.a1.value == "" ) { alert( "BAD" ); return false; } /* a1001かa1002のチェックボックスのチェックがなければアラート----*/ return (true); } //--> </script> </body> </html>

  • HTMLでテキスト入力し表示させる

    HTMLでテキストボックスに文字を入力し、表示させたいのですがうまくできません。 見た目はできているようなのですが、文字が表示されない状態です。 コードを記載しますので、お手数をお掛けしますがご教授頂けますでしょうか。 <html> <head> <script> function add(){ document.getElementById("target").innerText = document.getElementById("name").value; target = document.getElementById("output"); document.write(target); } </script> </head> <body> <p>名前を入力してください</p> <input id="name" name="name" type="text" size="30" onkeydown="update_field();"> <br> <input type="button" onclick="add()" value="実行"> <form action="index.html" method="post"> <br> <input type="submit" name="exit" value="戻る"> </form> </body> </html>

  • フォーム内のテキストフィールドにアドレスを入力後、Enterキーを入力して移動したい

    フォーム内のテキストフィールドにアドレスを入力後、Enterキーを入力して 移動するにはどうすればよいのでしょうか? 以下のようなコードを作成したのですがうまくいきませんでした。 <html> <head> <script type="text/javascript"> function jumpURL() { url = document.f.t.value; location.href = url; } </script> </head> <body> <form name="f" onSubmit="jumpURL()"> <input type="text" name="t" id="t"> </form> </body> </html> ご存知の方がおられましたらご回答をよろしくお願いします。

  • テキストエリアに入力可能な文字を半角数字に制限する方法を教えて下さい。

    テキストフィールドに入力可能な文字を javascriptにより、 半角数字・左右のカーソルキー・バックスペースキー・デリートキー のみに限定しようと試みています。 半角数字は、メインキー最上段にある数字キーだけではなく、テンキーからも入力されることを前提としています。 【javascriptのソース】…ブラウザIEのみに対応の場合 function suujinomi(evt) { evt = window.event; txt = String.fromCharCode(evt.keyCode);   ...(1) if("0123456789abcdefghi\b\r\t.'`%\60".indexOf(txt,0) < 0) {  return false; ...(2) } else {  return true; } } 【テキストフィールドhtmlのソース】 <input type=text value="" onkeydown="return suujinomi(event)">  以下のようにな問題(1)、(2)を解決できず困っています。 (1) メインキーボードの最上段にある数字キーのシフトケースである  半角文字!"#$%&'()もテキストフィールドに入力でき、 (2) ブラウザIE以外のブラウザでは、次のようにステートメント(1)、(2)を書き換えてみたのですが、入力可能な文字が全く制限されません。  javascriptのステートメント(1)   → txt = String.fromCharCode(evt.which);  javascriptのステートメント(2)   → evt.cancelBubble = true;     evt.returnValue = false;     return false;  どのようにすれば、問題(1)、(2)を解決できるかどうか教えて下さい。  よろしくお願い致します。

  • 入力ホームが作動しない

    私はプログラマーではありませんが、HTML、JAVAの辞典かってドリームウィバーで、個人のHPをつくっています。HPをリニューアルしようとしていまして、入力ホームを作っているのです。 <head> <script language="JavaScript"> <!-- fanction check(){ mail=document.form1.mail.value; if(document.form1.names.value==""){ alert("お名前を入力ください、Your name?") document.form1.names.forcus(); return false; }else if(mail.indexOf("@",0)<0){ alert("メールアドレスの入力を願います、Mail address?") document.form1.mail.forcus(); document.form1.mail.select(); return false; } alert("ありがとうございました。Thank you!") return true; } //--> </script> </head> <body><p><font color="#333333"> *ご依頼、お問い合わせなどは、メールにて。<br> 返信の際、電話番号などお知らせいたします。</font></p><hr> <form name="form1"action="~@bekkoame.ne.jp" Method="post" onSubmit="return check()"> お名前(name):<input type="text"name="names"size="15"><p> メール(mail add):<input type="text"name="mail"size="30"><p> 内 容(comment):<br><textarea name="text"cols="40"rows="5"> </textarea> <input type="submit" value="送信"> </body> ですが、サファリでも、IE5でも作動しないのですが 何故なのかわからづに居ます。同じページに、メルマ!の入力ホームもあるのですがそれが良くないのでしょうか?そのソースは、melma!の発行タグをコピペしただけなので、問題は無いとおもうのですが、、、 action="送信したいメアド先"にしているのが間違いなのでしょうか、、、教えてください。