• ベストアンサー

テキストボックスにフォーカスが有るときに改行すると・・・・ HTML

現在WEBページ作成中です。 フォーム内のテキストボックスにフォーカスがある状態で、改行キーが押されると、そのページをリロードしてしまう現象がおきています。 対応方法ご存知の方いらっしゃいましたら、教えてください。 環境 Windows 95.98/NT IE5.5

  • sho_ta
  • お礼率68% (221/322)

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

  • ベストアンサー
  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.3

JavaScriptの例です。 <FORM onsubmit="return a()"> <input><input type=submit></form> <script> function a(){ if(送信したくない場合){ return false; }else{ return true; } } </script>

参考URL:
http://tohoho.wakusei.ne.jp/js/index.htm
sho_ta
質問者

お礼

ありがとうございました。 参考になります。

その他の回答 (2)

  • akino4
  • ベストアンサー率18% (35/185)
回答No.2

改行を入力したいならinput type=textではなく textareaをつかってみたら?

sho_ta
質問者

お礼

回答ありがとうございました。 改行を入力したいわけでは有りません。 ユーザーがフォーム入力中につい改行キーを押すことって有りますよね・・ 私も無意識によくやっているのですが ^^;) で、フォームに入力中、テキストボックスにフォーカスがある状態でユーザーが改行キーを押すと、ページが更新されてしまうんですよね・・・・ それでちょっと不具合があり、今回質問させていただきました。 他の方からのレスによると、IEの仕様だそうです。 でわさようなら

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

ブラウザの仕様なのですが、IEではテキストボックスにフォーカスがあるときにEnterキーを押すと、送信されてしまいます。 このとき、formのactionを正しく設定していればそこに飛ぶのですが、送信用のボタンをbuttonにし、JavaScriptなどで飛び先を変更するタイプのページでは、actionを設定していなかったりすることがあり、この場合Enterキーを押した場合の動作は「リロード」になるのです。 ちなみにNNでは、テキストボックス内でのEnterによって送信されることはありません。 sho_taさんのページでは、どのようになっていますか? もし上記に当てはまるようなら、デフォルトで飛ばす先をformのactionに設定してみてください。

sho_ta
質問者

お礼

回答ありがとうございました。 私の仕様では、ユーザーの入力状態により、サブミット先をJavaScript で動的に設定しています。 よって初期状態では Action 属性は設定していません。 そのためリロードしてしまった様です。 またよろしくお願いします。

関連するQ&A

  • サブフォームのテキストボックスにフォーカスを戻す

    Access2010です。 メインフォームにいくつかのテキストボックスやコンボボックスと「登録」ボタンがあり、メインフォームの中には帳票形式のサブフォームがあります。 サブフォームには ・数量 ・単価 ・金額 のテキストボックスがあります。 フォーカスがサブフォームのいずれかのテキストボックスにある状態で、「登録」ボタンをクリックするとYES/NOボタンがある確認画面が表示されます。 そこでNOを選択した場合に、直前までフォーカスがあったサブフォームのテキストボックスへフォーカスを戻すにはどうしたら良いでしょうか?

  • フォーカスがあるテキストボックスに文字を入れる

    GUIでテキストボックスとボタンを作っています。 ボタンをクリックすると、GUIのテキストボックスに書かれた文字がWebブラウザ側にあるテキストボックスへ挿入されるという処理をしたいです。 この処理は、ボタンを押す前にWebブラウザ上のテキストボックスにフォーカスを移し、その後ボタンを押したらフォーカスがある位置に文字を挿入すればできるのではと考えたのですが。。。 フォーカスがある位置に文字を挿入させるやり方がわかりません。 どなたか分かる方教えてください><;

  • テキストボックスからフォーカス外す

     editBox = CreateWindow(   "EDIT",   "あああ",   SS_CENTER | WS_CHILD | WS_VISIBLE,   0,0,100,20,   hWnd,   NULL,   hInstance,   NULL); テキストボックスのフォーカスを外すにはどうしたら いいんですか? ESCキーでフォーカスを外そうと思ったら、 テキストボックスにフォーカスがあるせいで case WM_KEYDOWN が動作しません。 フォーカスを外すというソース自体も分かっていません。  case WM_KEYDOWN:   if( wParam == VK_ESCAPE )    ?  break;

  • テキストボックス内で改行したいです。

    テキストボックス内で改行したいです。 テーブルのフィールドにあるスラッシュ区切りのデータ を抜き取り一行づつ表示することができたのですが スラッシュ6つ目でテキストボックス内で改行して テキストボックス内で隣に表示させたいのです。 どのようにしたらよいでしょうか? 解る方教えてはいただけないでしょうか? よろしくお願いします。 下記は途中までのコードです。 'スラッシュ区切りで分割 vaspl = Split(Nz(Forms![フォーム名]![テキストボックス名]), "/", -1, vbBinaryCompare) Forms![F_N1]![詳細テキストN1] = "" '分割結果を一行づつ表示する For Each vret In vaspl Forms![フォーム名]![詳細テキストN1] = Forms![フォーム名]![テキストボックス名] & vret & vbCrLf Next

  • テキストボックスにフォーカスを当てる?

    こんばんは,すみませんよろしくお願いします。 テキストボックスにフォーカスを当てるには,例えば, TextBox1.SetFocus のようにするんだと思うのですが,テキストボックスに初期値が設定されていたときには,上記のようにすると,初期値のテキストの右側に線のようなポインタがテキストコントロール内にでてきます。 しかし,このような状態では,いったん初期値を消さないと,別の値に書き換えることは出来ません。 テキストコントロール内に初期の値として,何らかのテキストが入力されているとき,文字列が選択された状態になっていれば,即,別の値を入力することが出来ますので,ユーザーフォームをshowしたときに,テキストボックス内の初期値 (例えば,「ここに名前を入力してください」などの文字列) を選択した状態にしたいのです。どのようにすれば良いのでしょうか?何度もすみません。

  • うざいフォーカスを勝手にテキストボックスへ移動させないようにするには?

    「OKWeb」だけでなく「Yahoo! Japan」「Google」など一部のHPを開いたりリロード(更新・再読み込み)したりする際、クリックしていないにもかかわらず検索用のキーワードを入力するテキストボックスへフォーカス(カーソル?)が勝手に移動し、クリックしたのと同じ状態になってしまいます。 どうにかしてこのうざいフォーカスを移動させないようにする方法ってないのでしょうか? 当方のブラウザは Internet Explorer 6.0 (IE6 SP1) ですが、これはブラウザかHTML、あるいはJavaといった言語の仕様で起こるものしょうか?

  • テキストボックスについて

    使っている環境はVB6.0です。 テキストボックスが2つあり、1つ目のテキストボックスでEnterキーを押すとテキストボックスの2つ目にフォーカスが移動するというものなのですが、その移動したときに2つ目のテキストボックスの文字が選択されている状況を作りたいのですが何か良い方法はないでしょうか? 文字は最初から入っている前提でお願いします。

  • 起動時に最初のテキストボックスにフォーカスがあるようにしたい・・単純だけど・・

    フォームにテキストボックスがいくつか あって、そのうちの最初のテキストボックスに 起動時にフォーカスを持っているようにしたいです。 今までは、最初のテキストボックスの TABINDEXを0にしておけば、普通に フォーカスを持っていたのですが、 ある特定条件下でフォーカスを持たないことが分かり ました。 なので、明示的にフォーカスを指定したいのですが ロード時に指定するとエラーになったような気が します。こういうときは、どこで指定すれば よいのですか?

  • エクセルで、任意のテキストボックス等にフォーカスを移したい

    すいません、またまた質問です。 エクセルXPで、ユーザーフォーム上に 複数のテキストボックスやリストボックスを 置いて入力した値が任意のシートのセルに 入力されるというものを作っています。 (しかしながらVBAがほとんど見様見真似レベル なのでかなり悪戦苦闘(~_~*)) そこで、ユーザーフォームにて例えばTEXTBOX1に 入力後、Enterで次のテキストボックス(又は リストボックス)にフォーカスを移したいのですが、 その時に任意のテキストボックス等にフォーカスを 移すことは可能でしょうか。 番号順(なのかな?)に自動でフォーカスを 移動させることはできたのですが、任意の対象へ 移動させるやり方とかってあるのでしょうか。 例えばTEXTBOX1からRISTBOX5へ移すとか。 入力する順番に移動できたらユーザーフォーム上での 入力作業が非常に楽になると思って(^o^;) どうぞよろしくお願いします。

  • Excel2000VBA テキストボックス内での改行で・・・

    ユーザーフォームにテキストボックスを作り、 テキストボックス内での改行をできるように設定します。 このテキストボックスに入力されたデータをセルに入力すると セルでは改行したところに「・」が入ってしまいます。 例えばテキストボックスに  こんにちは[改行]  いい天気ですね と入力して、これをsheet1のA1に入力します。すると、  こんにちは・  いい天気ですね と入力されてしまいます。 この「・」を表示しないようにする方法はありますか? よろしくお願いします。

専門家に質問してみよう