現在のカーソル行を知りたい

このQ&Aのポイント
  • 'KeyDown'の下記サンプルコードでfunction msgにきたときに何番目のテキストボックスでKeyDownされたか知りたいのですが、関数があればお教え下さい。
  • 現在のカーソル行を知るために、'KeyDown'のイベントを利用して関数msgを呼び出し、テキストボックスでのKeyDown時のインデックスを取得したいです。
  • 下記のHTMLコードでは、keydownイベントが発生した際にmsg関数が呼び出されます。テキストボックスのkeydownが発生した場合、そのインデックス(何番目のテキストボックスか)を取得したいです。
回答を見る
  • ベストアンサー

現在のカーソル行を知りたい。

'KeyDown'の下記サンプルコードでfunction msgにきたときに 何番目のテキストボックスでKYyDownされたか知りたいのですが、 関数があればお教え下さい。 <html> <head> <script type="text/Javascript"> <!-- function msg(str) { alert("check"); } //--> </script> </head> <body onKeyDown="msg('KeyDown')"> key<br> <form name="myForm" method="POST" target="_self"> <input type="text" name="text1><BR> <input type="text" name="text1"><BR> <input type="text" name="text1"><br> <input type="submit" name="button1" value="button"> </form> </body> </html>

  • obone
  • お礼率51% (111/215)

質問者が選んだベストアンサー

  • ベストアンサー
noname#84373
noname#84373
回答No.1

さて、こういうこと? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title>サンプル</title> <body> <form name="myForm" method="POST" target="_self"> <input type="text" name="text1"><BR> <input type="text" name="text1"><BR> <input type="text" name="text1"><br> <input type="text" name="text1"><br> <input type="submit" name="button1" value="button"> </form> <script type="text/javascript"> //@cc_on /*@if(@_jscript)attachEvent('on'+ @else@*/addEventListener(/*@end@*/'load', function(){ document.body./*@if(@_jscript)attachEvent('on'+ @else@*/addEventListener(/*@end@*/'keydown', msg, false); }, false); function msg(evt) { var c = 0; var e = evt./*@if(@_jscript) srcElement @else@*/ target /*@end@*/; if (e.tagName == 'INPUT' && e.type == 'text') { while (e && e.nodeName != 'FORM') { if (e.nodeName == 'INPUT' && e.type == 'text') c++; e = getPreviousNode(e); } alert(c +'番目'); } } function getPreviousNode (node) { var n; if (n = node.previousSibling) { while (n.hasChildNodes()) n = n.lastChild; return n; } return node.parentNode; } </script>

obone
質問者

お礼

私の知的レベルでは内容理解できませんが、なりました。 ありがとうございました。

関連するQ&A

  • 小数の足し算

    Javascriptで <SCRIPT language="JavaScript"><!-- function wa() { a = eval( document.myFORM.a.value ); b = eval( document.myFORM.b.value ); s = a + b; document.myFORM.kotae.value="答え " + s; } //--></SCRIPT> </HEAD> <BODY> <FORM name="myFORM"> A =<INPUT type="text" name="a" size="3">B =<INPUT type="text" name="b" size="3"><BR> <INPUT type="text" name="kotae"><INPUT type="button" value="=" onclick="wa()"> </FORM> </BODY> としたとき A=0.1 B=0.05とすると 答え 0.15000000000000002となるのはなぜですか?

  • ループで連続したフォームの値を読み込む

    こんにちは ループで苦労しています。 nameが数字で連続したフォームがいくつかあり、それをループで読み取りたいのです。私が作ったものは以下のものです。でもエラーになります。どこが悪いのかどなたかご教授ください。 <script> function ggo(){ for (i=1; i<=3; i++){ document.write(document.forms["myFORM"].elements["k"+i].value); }} </script> <form name="myForm"> <input type="text" name="k0"><br> <input type="text" name="k1"><br> <input type="text" name="k2"><br> <input type="button" value="hai" onClick="ggo()"> </form> それから、余談ですが以下のスクリプトはループを1回にするとkipをエラー無しで読み込んでくれますが、2回以上にするとエラー表示とともに1度しか読み込んでくれませんなぜなのでしょうか?ひとつの書き込みにに1つの質問が原則なのでこちらの質問に答えていただける方がいらっしゃればそれもとてもありがたいです。欲張ってすいません。 <script> function ggo(){ for (i=0; i<=2; i++){ document.write(document.myForm.kip.value); } } </script> <form name="myForm"> <input type="text" name="kip"><br> <input type="button" value="hai" onClick="ggo()"> </form> ↓参照しました↓ http://oshiete1.goo.ne.jp/qa820843.html

  • メールフォームのソースについて

    メールフォームがうまく作れません。下のソースでおかしなところがあったら 教えていただけませんか?よろしくお願いします。 html> <head> <title>sample</title> <script Language="JavaScript"><!-- function set(sObj) { str = sObj.options[sObj.selectedIndex].value; document.myFORM.action = "mailto:" + str; } // --></script> </head> <body> <form name="myFORM" method="post" action="mailto:abc@***.ne.jp" enctype="text/plain"> <br> <input type="text" value="test" NAME="data"><br> <input type="submit" VALUE="送信"><br> </form> </body> </html>

  • submitで特定の情報だけを本文にするには?

    FORMで、SUBMITを使ってメールを送るSCRIPTの場合、送信する本文を指定されたVALUEだけにすることはできないのでしょうか? 下のようなスクリプトを書いています(以前の回答より引用しています) <script> function iSubmit() { var adress = document.myFORM.adress.value; document.myFORM.action="mailto:"+adress; document.myFORM.submit(); } </script> <FORM name="myFORM" method="post" str enctype="text/plain"> <INPUT type="text" NAME="adress"><BR> <INPUT type="text" NAME="mailtext"><BR> <INPUT type="button" VALUE="アドレス送信" onClick="iSubmit()"><BR> </FORM> submitの場合、単純に&BODY=としただけでは本文に指定出来ず困っています。 出来れば、本文に書きこまれる "mailtext="の部分も削除したいのですが、良いアイデアはないでしょうか? <A HREF="mailto:~">で出来ないかと思ったのですが、その場合ユーザが書きこんだデータを取って来れない様な気がするので、挫折しました。 自分なりに調べたのですが、わかりません。どなたか宜しくお願い致します。

  • 選択フォームへの追記について

    現在、下記のように一つのフォームの場合は、 ボタンを押すと追記されますが、 複数のフォームがある場合に、 選択されているフォームへ、 追記するには、どうすればよろしいでしょうか、 よろしくお願いいたします。 <html> <head> <script language="JavaScript"><!-- CR = String.fromCharCode(13); function setData(param) { txt = document.myFORM.myTEXT.value + param + CR; document.myFORM.myTEXT.value = txt; } // --></script> </head> <body> <form name="myFORM"> <input type="button" value="月曜日" onClick="setData('月')<br> <input type="button" value="火曜日" onClick="setData('火')"><br> <textarea rows="9" cols="20" name="myTEXT"></textarea><br> </form> </body> </html>

  • 乱数の生成について

    下記のスクリプトではボタンをクリックして乱数を生成しています。 ボタンをクリックする事無く、windowが開くと同時に乱数を生成するにはどのようにすれば良いでしょうか? <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function gen_random(num1, num2) { retval=Math.random(); document.myform.ans.value = (Math.floor(retval * (num2 - num1)) + eval(num1)); } //--> </SCRIPT> </HEAD> <BODY> <center> <form name=myform> 乱数の範囲 <input type=hidden name=d1 value=1000> <input type=hidden name=d2 value=9999> <input type=button name=btn1 value=乱数発生 onClick=gen_random(myform.d1.value,myform.d2.value)><br> 乱 数:<input type=text name=ans size=4> </form> </center> </BODY> </HTML>

  • name属性に[]付の名前を指定した処理

    理由があり、下記の様にname属性に配列(?)を指定しています。(下記はスクリプトエラーになります。) <HTML> <HEAD> <script language="JavaScript"><!-- function input(obj1, obj2) { obj2.value = obj1.value } // --></script> </HEAD> <BODY> <FORM name="myform"> <INPUT type="text" name="text[1]" onchange="input(this, document.myform.text[2])" /> <INPUT type="text" name="text[2]" onchange="input(this, document.myform.text[1])" /> </FORM> </BODY> </HTML> 当然ながら、text[1]をtext1にし、text[2]をtext2にすれば全く問題無く動作します。nameとしてこのままtext[n]のままでこのエラーを回避するにはどうしたらいいのでしょう。以上、よろしくお願いします。

  • 『`』がテキストタイプのvalueにある場合にhiddenを追加すると表示が崩れる

    言葉では説明できないためコードを記載致しました。 下記のコードでボタンを押下した場合に表示が崩れるのは何故でしょうか?(IE6,IE7で確認) 又、対策としてはどのような事が考えられるでしょうか?(『`』を入力禁止以外でお願い致します。) 尚、innerHTMLをalertで出すとうまく追加されていないようです。。。 よろしくお願い致します。 <html> <head> <script> function createhidden( name, value, formname ){ str = '<input type="hidden" name="aaa" value="bbb"/>'; document.forms[0].innerHTML += str; } </script> </head> <body> <form action="" name="form1"> <input type="text" name="b"value="`"/><br><br> <input type="button" value="CREATE HIDDEN" onclick="createhidden()"/> <input type="text" name="a"value="`"/><br><br> </form> </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>

  • クリックするとボタンの中の文字が変わるようにしたいんですが一応コードは出来たんですが・・うまくうごかなくて困ってます。

    java スクリプトのONCLICKについて質問があります。 ONCLICKのあとに何個もオプションはつけられないのでしょうか? <INPUT TYPE="button" VALUE=" " ONCLICK="form1.Q8.value += '1';" style="font-size:40pt"><br> にボタンをクリックするとボタンの中に「○」を表示するようにしたいんですが、うまくいきません・・・ 一応こう感じにつくってみたんですが・・・ <html> <head> <title></title> </head> <body> <script type="text/javascript"> function change_label(){ document.form1.label1.value = " ○ "; } </script> <form name="form1"> <input type="hidden" name="Q8" value=""><br> <input type="button" name="label1" value="クリックしてね" onclick="form1.Q8.value += '1';change_label();"> <input type="submit" name="Q9b" value="次へ" style="font-size:25pt"> </form> </body> </html> もしよろしければアドバイスいただけませんでしょうか・・・・

専門家に質問してみよう