• 締切済み

VB IEブラウザへのキーイベント発生方法について

VB2010 Expressを使ってブラウザを操作するプログラムを作成しています。 ブラウザ側の仕様ですが、テキストボックス(xxx)に値を入力し、 Enterキーを押すとある計算(yyy)が実行されます。 <input id="xxx" onkeypress="return trapEnter(event, 'yyy(1);');" type="text"> xxxに値を代入した後、FireEventイベントを利用しようと考えていますが、 Enterキーを押す動作(キーイベント)をどう実装していいかわからず、質問させていただきました。 obj = doc.all.item("xxx") obj.Value = 123 obj.FireEvent("onkeypress") よろしくお願いいたします。

みんなの回答

noname#212058
noname#212058
回答No.1

こんな感じ? obj = doc.all.item("xxx") obj.Value = 123 evt = doc.createEventObject() evt.keyCode = 13 obj.FireEvent("onkeypress", evt) ※createEventObject についての説明は以下を参照  http://msdn.microsoft.com/ja-jp/library/cc392068.aspx ※以下のページの 『キーボードイベントの場合』 の項も参考になります。  http://d.hatena.ne.jp/language_and_engineering/20090907/p1

関連するQ&A

  • JavaScriptのキーイベント

    JavaScriptのキーイベント いつもお世話になりますm(__)m Javascriptのキーイベントで教えて下さい。 フォーム上に、テキストボックス(id=A)とセレクトボックス1(id=B)と、セレクトボックス2(id=C)があるフォームがあり、フォーム内の項目移動をキーボードで行いたいと思います。 各項目のkeydownイベントでキーコードを取得して、Aの場合 Enter(13)又は→(39)なら、Bへ ←(37)なら、Cへ 移動するようにキーコードを取得して移動するようにしました。 IEだと問題なく動くのですが、Firefoxだと、矢印キーで移動した時に、移動先のセレクトボックスの値が  ←で動いた場合、セレクトボックスの値が1つ前  →で動いた場合、セレクトボックスの値が1つ後 に変わってしまいます。 (フォーカスは問題なく移動先のセレクトボックスにあります) 移動した後(例えばB.focus()の後)に、まだキーイベントが残っていて、Bにフォーカス移動後に、→キーが押されたような状態っぽいのです。 Firefoxの場合、セレクトボックスにフォーカスがある時、キーボードの左右で値を変更できるので、その辺りが原因と思うのですが、移動時に左右矢印キーのイベントを無効(?)にする事はできないのでしょうか? 雑な書き方で申し訳ありませんが、お詳しい方、是非ともご教授下さいm(__)m 宜しくお願い致します。

  • Flashのキーイベント処理について

    Flashのキーイベント処理でなかなか不具合が取れず、困っています。 よろしくお願いします。 今作っているFlashは1つのデータ内に複数のページが存在し、ページごとにキーイベント処理内容が異なる仕様のため、それぞれにキー処理を行っています。 内容は、下のようなスクリプトを書いています。 -<ページ(1)でのクリアキー判定>---------------- var Key_object = new Object(); Key_object.onKeyDown = function(){ code = Key.getCode(); if(code == 46){ //終了処理 } } Key.addListener(Key_object); ----------------------------------------------- -<ページ(2)でのクリアキー判定>---------------- var Key_object2 = new Object(); Key_object2.onKeyDown = function(){ code2 = Key.getCode(); if(code2 == 46){ //ページ(1)へ戻る処理 gotoAndPlay("page1"); } } Key.addListener(Key_object2); ----------------------------------------------- ですが、上の処理だとページ(2)でクリアキーを押した時にページ(1)に戻ってほしいのに、何故かページ(1)のクリアキー判定まで行われてしまい、終了処理がなされてしまいます。 この件についての原因と打開策が知識の乏しい私では見当たりません。 また、違う人に聞いたところ「ページ(2)でのクリアキー判定の方はイベントリスナーを使わずにキー判定を実装して」といわれました。 このイベントリスナーを使わずにクリアキーの判定を実装する方法がわかりません。 どなたか、上のスクリプトでの不具合原因や打開策、また「イベントリスナーを使わないクリアキーの判定方法」が分かる方、いらっしゃいませんでしょうか?

    • ベストアンサー
    • Flash
  • JavaScript テキストボックス キーイベント

    JavaScript テキストボックス キーイベント こんにちは。趣味でプログラミングをしている者です。 タイマーを使って計算ドリルを作ったのですが、 特定のキーコードで正解かどうか判定する関数を呼び出そうとしたのですが、 テキストボックスにこたえを入力して、キーを押すたびに 「キーン」というような音が鳴るのですが、 その音は、どのような仕組みで鳴るのでしょうか? また、音を鳴らさないようにする方法がありましたら、 教えていただけないでしょうか よろしくお願いします <html> <head> <script type="text/javascript"> function init() { document.attachEvent("onkeypress", KotaeAwase); } function KotaeAwase() { if( event.keyCode == 13) { var key = 1; var kotae = parseInt( document.Form1.kotae.value ); var Result = document.Form1.result; if( kotae == key ) Result.value = "せいかいです!"; else Result.value = "ちがいます"; } } </script> </head> <body onLoad="init();"> <form name="Form1"> <input type="text" name="kotae" size="20"> <br><br> <input type="text" name="result" size="20"> <br> </form> </body> </html>

  • designMode=on のときのキーイベント処理

    HTMLエディタを使ったWEBアプリケーションを作っているのですが、 designMode=onにしてインナーフレームを編集可能にしたとき、 Mozillaの場合、キーイベントが反応せず困っております。(IEでは動きます) どなたか、ご存知のかたは教えてください。 よろしくお願いします。 OS : WindowsXP ブラウザ:firefox 2.0.0.4 ・ソース <html> <head> <script type="text/javascript"> var doc=null; function init(){ var doc = document.getElementById("testFrame").contentWindow.document; doc.designMode = "on"; doc.onkeydown = test; } function test(){ alert("OK"); } </script> </head> <body onload='init();'> <iframe id="testFrame" width="500px" height="500px" ></iframe> </body> </html>

  • Flash Lite1.0でキーイベントを取得できない

    MX2004Professionalで携帯用のコンテンツを作成していますが、キーイベントが取得できなくて困っています。 on (keyPress "<Enter>") { gotoAndPlay("main"); } というソースなのですが、PC上では実行するものの携帯で試すとうんともすんともいいません。 試しにFlash8でプレビューしてみたところ、 FTPE001: キーは処理されません : Return ASCII 値 : 13 というエラーがでていました。 処理されませんつっても回避方法を探してみても見つからず、どうすればよいか困っています。 解決方法のヒントがありましたらお願いいたします。 ちなみにFlashLite1.1で試しても一緒でした。

    • ベストアンサー
    • Flash
  • C# ブラウザをコントロール

    C#でブラウザをコントロールすることは可能でしょうか? Webサイト上にあるフォームに任意の値を入力させたいのですが。 また、任意の箇所でイベントを発生させることは可能でしょうか? クリックや、Enterキーを入力するなど。 具体的に言うと、自動的にログインしたいです。

  • onclickとonkeypressの重複

    W3Cのアクセシビリティ指針によれば、onclick属性を指定するならonkeypress属性も指定せよ、とのことですが、たとえば<input type="button">にこの両方を指定すると、IEなどの場合、このボタンにフォーカスがある状態でスペースキーを押すと、onkeypressイベント→onclickイベントというように両方とも発生してしまいます。 本来、ポインティングデバイスの代替の操作のためであるにもかかわらず、これでは逆にアクセシビリティは低下するばかりでなく、処理によっては2回行って欲しくない場合もあり、なんとも面倒です。 考えられる対策としては、たとえば、ほとんどのブラウザではキーでもonclickが起きるようになっているため、あえてonkeypressのほうはダミーを指定しておく、などでしょうか。 これに対してのお考えや、対策など御教授いただけたらと思います。 よろしくお願いいたします。

  • 一部Enter無効化の方法を教えてください!

    PHPで作成している画面について、テキストコントロールにフォーカスがある場合に、 Enterキーを押下することで、submitが行われることを無効化させたいと思っています。 <SCRIPT LANGUAGE=javascript> <!-- document.onkeypress = enter; function enter(){ if( window.event.keyCode == 13 ){ return false; } } //--> </SCRIPT> のようなJavaScriptを記述すれば完全にEnterキーを無効にできるようですが、 この状態だと、submitにフォーカスがある状態でEnterキーを押下してもsubmitが実行されません。 この状態を解決する方法をご存知の方、アドバイスをお願いします!! ちなみにブラウザは最低でも、IE6,7とFireFoxには対応したいと思っています。 当方、HTML,PHP,JavaScriptは素人同然ですので、明確な内容で教えて頂けると助かります。 宜しくお願いします!!

  • Javascript onsubmit記述方法

    サイト制作をしているのですが、行き詰った箇所を教えてください。 form内でEnterキーを押したときに送信ページに飛んでしまわずに、次項目へ行くように(Tabの役割)するJavascriptと、確認用メールアドレスの項目を作るためのJavascriptを併用したいのですが、 onsubmitに"return CheckForm(this);"と"javascript:pageTracker._linkByPost(this)"を並列させる必要があるようなのですが、書き方を教えてください。 もし、そもそもの記述が間違っていたらご指摘ください。 ---- Javascript部分 <script type="text/javascript"> /*********************************************** * Disable "Enter" key in Form script- * By Nurul Fadilah(nurul@REMOVETHISvolmedia.com) ***********************************************/ function handleEnter (field, event) { var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; if (keyCode == 13) { var i; for (i = 0; i < field.form.elements.length; i++) if (field == field.form.elements[i]) break; i = (i + 1) % field.form.elements.length; field.form.elements[i].focus(); return false; } else return true; } </script> <script language="JavaScript" type="text/javascript"> function CheckForm(theform) { var FormOK = false; if (theform.mailaddress.value == "") { FieldControl(theform.To, "「メールアドレス」を入力してください。"); }else if (theform.mailaddresscheck.value != theform.email1.value ) { FieldControl(theform.To, "「メールアドレス(確認用)」を入力してください。"); }else if (theform.mailaddresscheck.value != theform.email1.value ) { FieldControl(theform.To, "入力されたものが一致するように入力してください。"); }else { FormOK = true; } return FormOK; } function FieldControl(element, message) { alert(message); } </script> ------- HTML部分(現状"Enter" key in Formのみ実装) <form action="" method="post" onSubmit="javascript:pageTracker._linkByPost(this)"> <table class="contact"> <tr> <th>メールアドレス <span class="red">※</span></th> <td><input type="text" name="mailaddress" id="textfield" class="type01" onkeypress="return handleEnter(this, event)" /></td> </tr> <tr> <th>メールアドレス確認用 <span class="red">※</span></th> <td><input type="text" name="mailaddresscheck" id="textfield" class="type01" onkeypress="return handleEnter(this, event)" /></td> </tr>

  • XMLの特定のデータを書き込むには?

    下記のXMLファイルを読み込んで、 タグYYYのキーでKEY2を検索し、 子要素AAAの値のData2を書き換えるという処理を 作ろうとしてるのですが、 なかなか解決策が見つかりません。 よろしくお願い致します。 例: abc.xml <XXX> <YYY KKK="KEY1"> <AAA>Data1</AAA> <BBB>Data2</BBB> <CCC>Data3</CCC> </YYY> <YYY KKK="KEY2"> <AAA>Data1</AAA> <BBB>Data2</BBB> <CCC>Data3</CCC> </YYY> <YYY KKK="KEY3"> <AAA>Data1</AAA> <BBB>Data2</BBB> <CCC>Data3</CCC> </YYY> </XXX>

専門家に質問してみよう