• ベストアンサー

onchange等のイベントハンドラによる同一ページへのPOSTについて

あるWebページ内のセレクトボックス1,2があるとします。 セレクトボックス1に対して、onchangeイベントハンドラを設けて セレクトボックス1の内容が変更されれば、リロードし 同一ページへセレクトボックス1の内容をPOSTし、 その受け取った内容でセレクトボックス2の内容を 可変したいのですが、具体的にJavascriptからPOST変数への 受け渡し方はどのようになるのでしょうか? WebページはPHPにて構築しています。 すみませんがご存じでしたらどなたか教えてください。

  • SOU48
  • お礼率35% (51/144)

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 >具体的にJavascriptからPOST変数への >受け渡し方はどのようになるのでしょうか? ちょっと難しく考えすぎているような気がします。 POSTへ受け渡す=送信(submit)です。 onChangeでsubmitをかければよいだけですよ。 <form action="送信先.php" name="f"> <select name="sel" onChange="selChange(this.options[this.selectedIndex].value);"> <option value="1">1 <option value="2">2 </select> <input type="submit" value="送信"> </form> === <script type="text/javascript"> <!-- function selChange ( val ) { // ここではもう一度自分のページを開くので、 // action先を変更する document.f.action="自URL"; document.f.submit(); } //--> </script>

SOU48
質問者

お礼

>ちょっと難しく考えすぎているような気がします。 >POSTへ受け渡す=送信(submit)です。 その通りでした。難しく考えておりました。 大変参考になり、例まで書いて頂いて感謝しております。 有り難うございました。

その他の回答 (1)

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

単純にフォームのmethodをpostにして、 submitしてやればよいのではないでしょうか?

SOU48
質問者

お礼

ありがとうございます。 どうやらその通りですね。 難しく考えすぎていたようで恥ずかしいです。 実は単純な事だったのですね。 ありがとうございました!

関連するQ&A

  • セレクトボックスの連動について

    https://secure.sakura.ad.jp/member/password.php こちらのページにあるように「都道府県」を選択すると 一度リロードされ、選択された「都道府県」に基づく 「市区町村」のセレクトボックスが表示されるようになります。 おそらく、セレクトボックスに「onchange」イベントハンドラを つけて、処理しているかと思いますが、具体的な方法が 分かりません。 どなたか分かる方、教えて頂けますでしょうか?

    • ベストアンサー
    • HTML
  • プルダウンメニューでのイベントハンドラで悩んでます!

    お世話になります。 現在、データベースより取得したデータ(学校名)を プルダウンメニューにて表示させています。 また、プルダウンが選択された際には、 onchangeイベントを使って取得IDからsubmitを行い、 学校情報を再読み込みするようにしています。 ここで問題なのが、onchangeイベントを使うと ・データベースに情報が1つだった場合 ・一度、読み込んだ学校情報を再度選択した場合 に再読み込みできない点です。 onchange以外に何か良いイベントハンドラや 対策はありますでしょうか? 他のイベントも色々試しましたが、 期待する挙動を示してくれません。 javascriptの先達の皆様ご教授よろしくお願いしますm(_ _)m

  • 即時関数とイベントハンドラについて

    javascriptは全体を即時関数で囲って、変数の有効範囲を制限したほうが良いということを知りました。しかしスクリプト全体を囲ってしまうと、関数にもアクセスできなくなってしまいます。イベントハンドラで外部から関数を使用したい場合は、全体を囲うべきではないということでしょうか。 もし対処方法がありましたら、教えてくださると助かります。

  • 同一ページへのコメントの追加

    Webページに簡単なコメント欄を追加したいと思っています。 フォームの内容をpostでPHPに渡す方法でファイルに書き込んで 同じページに表示したいのですがページがphpに遷移してしまいます。 具体的にはindex.htmlにフォームを設けて、submitすると そのコメントをファイルに出力し、 その内容をphpで編集して結果をindex.html上に表示したいと思っています。 <form action="index.php" method="post"> という渡し方自体が行けない気がしているのですが方法がわからず 教えていただけないでしょうか。 php, javascript(prototype)でできるとありがたいです。

    • ベストアンサー
    • PHP
  • selectタグに直接onChangeを書かないイベント取得方法

    javascriptが余り詳しくないので困っています。 <select id="select1" name="select1"> <option value="apple">りんご</option> <option value="banana">バナナ</option> </select> このようなselectの選択リストから値を変更した時にイベントを取得したいのです。 普通に考えると <select id="select1" name="select1" onChange="xxx"> のようにonChangeを使えば簡単なのですが、 困ってしまうのがこのselectは自動生成されるものなので、 直接手を加えることができないのです。 なのでselect文には手を加えずに、値が変更されたときに 何か関数を呼び出すようなことをしたいのです。 無理ならしょうがないのですが、何か手があれば教えてください。 よろしくお願いします。

  • onChange に関して

    onChange に関して わかりにくい内容で申し訳ありません。 PHPで作成されているプログラムの中に、Javascriptを組み込みたいと考えています。 処理の動きとしては、あるプルダウンが選択された場合、すぐさまその値をもとにしてDBへ 検索しに行くというものです。 通常、PHPだけの処理の場合、POST等を用いて、ボタンが押されたら違うphpファイルへ値を 送る事が可能かと思われます。 その処理をJavascript で選択されたらすぐに検索、表示というような動きをしたいと考えて います。 同じソースの中でなら、例えば選択された値を別のテキストに表示するというような事はした 事はありますが、そもそもJavascript でPUT 処理のような事は可能なのでしょうか??? 初歩的な質問で申し訳ありませんが、教えて下さい。 よろしくお願いします。

  • showModalDialogで開いた画面をonChangeでリロードするには・・・

    初めて投稿します。今、showModalDialogで困っています。 まず画面上のボタンからjsファイル内のJavaScriptのメソッドを呼び出し、 その中でshowModalDialogを使って開いた小さな窓にカレンダーを表示します。 このカレンダー画面には月を選択するセレクトボックスがあり、 このセレクトボックスで月を変更した際にカレンダーをリロードする 処理を作ろうとしています。しかしこのリロードで「オブジェクトを 指定してください」というエラーが出てしまいます。 何がいけないのでしょうか・・・? 処理内容はこんな感じ・・・ 1.jsファイル内のJavaScriptメソッドのshowModalDialog呼び出し部分 window.showModalDialog("modal.html"); 2.呼び出されたmodal.html内ではbodyタグを以下のようにする <body onLoad="javascript:loadPage();"> 3.2で呼び出されたmodal.html内のJavaScript、loadPage()はこんな感じ writePage()は1のjsファイル内の別のメソッド function loadPage() { writePage(); } 4.3で呼び出されたjsファイル内のJavaScript、writePage()はこんな感じ function writePage() { this.document.open(); this.document.writeln("Calendar"); this.document.writeln("<select onChange=\"javascript:loadPage();\">"); this.document.writeln("<option>1月"); this.document.writeln("<option>2月"); this.document.writeln("</select>"); }

  • selectで項目を選択した時に発生するイベント?

    こんにちは,よろしくお願いします。 教えて!の質問をする時,投稿カテゴリーを入力しますが,selectオブジェクトの項目を選択した時に,次のメニュー項目が表示されるようなページについて教えてください。 試しに,javascriptのイベントハンドラonchangeやonclickでやってみましたがうまくいきませんでした。 教えて!の投稿カテゴリーについて解説していただくか,または,selectを選択した時に発生するイベントについて教えてください。よろしくお願いします。

  • onchangeイベントを強制的に発生させる

    お世話になります。 onchangeイベントをjavascriptで強制的に動作させたいと思っております。 発生させたい場合 ・ユーザーがtextボックスを入力 ・リンクボタンを押下した場合 簡単なことなのかもしれませんが、 ご教授よろしくお願いいたします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <script type="text/javascript"> function change(){ alert('test'); } function update(){ document.getElementById('1').value = "update"; document.getElementById('1').onchange = change; } </script> <input id="1" type="text" value="1" onchange="change();"> <a href="javascript:update();">update</a>

  • POSTした値を、別ページにもPOSTする

    分かりにくいタイトルで申し訳ありません。。 今までJavaScriptでエラーチェックの制御を行っていましたが、 要望でJavaScriptを排除しなければならなくなり、途方に暮れています。 会員情報の新規登録のシステムを作成しています。 新規登録画面をA.php、登録内容確認画面をB.phpとします。 行いたいことは、A.phpの登録確認ボタンをクリックすると、そのページのテキストボックス、ラジオボタン等で入力された項目に不備がないかチェックし、問題がなかったらB.phpに遷移するという簡単な流れです。 当初は <form name="myFORM" method="post" action="B.php" onSubmit="Check_input(document.myFORM)"> と記述し、JavaScriptで項目のチェックをし、問題があればポップアップで警告、なかったらB.phpに遷移していました。 JavaScript撤去後は、 <form name="myFORM" method="post" action="A.php"> として、いったん自分にPOSTし、A.phpの中でエラーチェックをして問題があればエラーをラベル出力するという形をとりました。 ここでつまずいているのが、A.php自身にPOSTし、エラーがない場合、POSTした値を保持したままB.phpに遷移したいができない、ということです。 エラーがない場合 header("location:B.php"); で、B.phpに飛んでいるのですが、当然ながらPOSTした値はついてきてくれません。。 項目数が多く、ひとつひとつに変数で値をもたせてあげることも難しいです。 何か良い案がございましたら、ご教授ください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう