• 締切済み

「送信」ボタンからフォーカスを自動的に外す方法

こんにちは。PHP初心者です。 先日、PHPでメールフォームを作成しました。 テキストエリアに"住所""名前"など入力し、最後に『送信』ボタンを押す。 と、ごく普通のメールフォームです。動作などは全く問題ありません。 でもどうしても気になることが。。。 それは最初にページを開いて、テキストエリアをクリックすると、 『送信』ボタンにもフォーカスされてしまいます。 これだと、入力が完了してない状態でエンターキーを押してしまうと、 次ページ(確認ページ)に移動してしまうのです。。。 どこがどうなって、こういった現象が出るのかわかりません。 簡単な方法としては、常に『送信』ボタンからフォーカスを外す方法 と安易に考えてます。。。 教えて下さい。 また、これが原因じゃない?という意見などもあれば教えて下さい^^

  • PHP
  • 回答数2
  • ありがとう数3

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

>> どこがどうなって、こういった現象が出るのかわかりません。 そういうものです 対策としては以下のページなど参考にしては如何でしょう http://blog.nomadscafe.jp/archives/000484.html

papa2010
質問者

お礼

ありがとうございます。解決しました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

本当に「テキストエリア(textarea)」ですか? テキストエリアをクリックしたらふつうはテキストエリアの 入力ですよね? そこでエンターを押しても改行が入力されるだけのはずですが・・・ もしテキストボックスの話であれば、エンターで送信は 比較的どのブラウザでも標準的な仕様ですね

papa2010
質問者

お礼

ありがとうございます。解決しました。

関連するQ&A

  • ボタンのみにフォーカスを合わせたい。

    ボタンのみにフォーカスを合わせたい。 フォーム上に動的に作成したボタンをキー入力だけで操作したいのですが、方向キーを使ってカーソルを移動させるとどのボタンにもフォーカスが合わなくなります。 →キーを押してカーソルを移動させていくと端のボタンの上で→キーを押すとどこかへいってしまいます。 ■ □ □  □ ■ □ □ □ ■ □ □ □ よろしくお願いします。

  • テキストエリアの内容がメールに送信できない

    テキストボックスやラジオボタンなど、フォームに書き入れた内容をメールに送信するプログラムを作っています。(アンケートフォームのようなもの) まず、nyuryoku.phpでテキストエリア内に入力されたものを kakunin.php に $area1 として、表示させました。その内容を、hidden でmail.php に送りました。 kakunin.phpでは、$area1 がきちんと表示されるのに、 メールに送られてきた内容は、1行しか送られてきません。 なぜなのでしょうか? kakunin.phpで改行させる為に、  $area2 = nl2br($_POST[area]."\n"); をしましたが、それは関係あるのでしょうか。 分かりづらい説明で、申し訳ありませんがよろしくおねがいします。

    • ベストアンサー
    • PHP
  • フォーム送信後の戻るボタンの挙動について

    フォーム送信後の戻るボタンの挙動について PHPでホームページの一部を更新できるシステムを作りました。 項目一覧ページ → 編集ページ → 編集確認ページ → 更新後再度一覧ページへ、といったフローで更新がおこなわれます。 このとき、通常だと確認ページからブラウザの戻るボタン、もしくは画面内の戻るボタンを押すと、編集ページに戻り、入力時の情報がフォーム内に残っているのですが、編集ページを開いてから10分程度待ってから入力・送信後に確認ページから戻ると編集ページのフォーム内に入力したはずの入力情報が消えてしまいます。 おそらくサーバ(Apache)かPHPの設定によるものだと思うのですが、考えうる設定としてどんなものがあるのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • フォームの送信ボタンの位置

    フォームのテキストエリアの横に送信ボタンを配置したいのですが どの様なタグを入れたらいいでしょうか? ※送信ボタンは画像ではありません。

    • ベストアンサー
    • HTML
  • ユーザーがクリックするまでフォーカスをつけない方法(Access VBA)

    こんにちは。 AccessVBAですが、ユーザーフォーム上で、 ユーザーが、コントロールをクリックするまで、 フォーカスを設定しない方法は、あるでしょうか。 テキストにフォーカスされたときの黒反転が、 綺麗でないので、フォーカスさせたくありません。 フォームを開いたときに、強引にボタンにフォーカス する、方法もありますが、ボタンのないフォーム ですと、この方法が使えません。 何か、いい方法がありましたら、教えてください。 お願いします。

  • IEでの送信フォームについて

    IEでの送信フォームに関する質問です。 フォームの入力欄以外にカーソルをあてて Enter(Return)キーを押すと、 自動的にフォーカスが「送信」ボタンにいってしまい、 送信扱いになってしまいます。 <form> ~ </form>の部分で上記のような現象がおこります。 NNではおこりませんでした。 このフォーカスを無効にするにはどのような方法が あるでしょうか。どうかアドバイスをよろしくお願いします。

  • 送信ボタンをエンターで動作させたい

    もしかするととても簡単なことかもしれませんが、皆さんよろしくお願いします。 ひとつのページの中にフォームが2つ以上あったとします。 そして画面で言うと、画面のヘッダー部分に、サイト内検索の為のフォームがあって、中段くらいにお問合せの為のフォームがあったとします。 そしてここからが皆さんに教えて頂きたいところなんですが、 今の状態で、エンターボタンを押すと常に検索フォームのサブミットボタンが動作してしまいます。 本当はお問合せ内容を入力したときは、お問合せのフォームの送信ボタンがエンターで動作して、検索フォームのテキストを入力したときは、検索用のフォームのサブミットボタンが反応してほしいと思っています。 入力したフォームによってそれぞれのサブミットボタンがエンターで動作するようにしたいんですが。。。 単純なことかも知れませんが、はまっています。どうぞよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • JavaScriptでフォームへのフォーカス処理

    PHP、XHTML、CSSで応募フォームの作成をしております。 PHPとHTMLは別ファイルで作成しており、PHPにアクセスしてそのPHPが指定されたテンプレートを読みにいくような流れとなっております。 HTMLもPHPも完成して、応募フォームとして一通り動くようになったのですが、新たにフォーカス機能を追加したいということになりました。 具体的には、応募フォームの一番最初のテキストエリアに、ページ読み込み時にフォーカスを当てたいという内容です。 そこで、フォーカス機能用のJavaScriptを別ファイルで新たに作成し、動きを確認してみたところ上手く動きません。 HTMLとJavaScriptのソースは下記の通りです。 ==================================================================== ■HTML(全て書くと長くなってしまうので、簡略させていただきます) <script type="text/javascript" src="$path_top_js/focus.js"></script> <body onLoad="Focus()"> </head> <form name="top" action="index.php" method="POST" onReset="return false;" onSubmit="return false;"> <input type="hidden" name="USER_ID" value="$USER_ID"> <INPUT size="20" type="text" name="USER_ID" value="$USER_ID" MAXLENGTH="10"> </form> </body> ■JavaScript(focus.js) function Focus(){ document.top.USER_ID.focus(); } ==================================================================== 「フォームのname="USER_ID"というテキストエリアにフォーカスを当てる」という内容になります。 なぜフォーカスが当たらないのか、原因は予想がつくのですが、どう解決していいのか分かりません。 多分、フォームの値を保持するために記述しているhiddenタグ <input type="hidden" name="USER_ID" value="$USER_ID"> にJavaScriptのフォーカスが当たってしまっているみたいです。(フォーカスが当たっていると思われるhiddenタグは見ることができません) 試しにhiddenタグを外してみたところ、JavaScriptで指定したテキストエリアにフォーカスが当たっていることを確認しました。 「応募フォーム」ということで、ページ遷移した際にもフォームに入力した値を保持しておくためにhiddenタグは外したくないのですが、フォーカス機能もちゃんと動くようにしたいと思っております。 解決方法が分かる方いらっしゃいましたら、ご教授の程お願い致します。

    • ベストアンサー
    • HTML
  • フォーカスを取得すると、自動的に半角英数にする方法

    いつもお世話になっております。 フォーム上にテキストボックスを配置し、 そこにフォーカスがきたときに自動的に 半角英数入力にする方法はあるのでしょうか? お分かりの方がおられましたら、よろしく お願いいたします。

  • フォーカスを移動させない方法

    エクセル2003のユーザーフォームにリストボックス1、リストボックス2、テキストボックス1、コマンドボタン1(シート転送用)を作成しました。(タブオーダーはこの順になってます。) 転送用ボタンは最後にクリックしますが、前3個のコントロールの操作の順番はどれでも可能にしたいと思います。ただしテキストボックスは入力の都度クリックしなくてよいようにフォーカスを常駐させたいのです。どなたか簡単な方法を教えてください。

専門家に質問してみよう