• ベストアンサー

[submit]ボタンの実行

Win32API(InternetOpen,InternetOpenURLなど)を使用して取得したHMTL内の[submit]ボタンをプログラム上から直接実行したいのですが、どうのようにしたら良いのでしょうか? BrowserコンポーネントやIEを使用して[submit]ボタンをクリックさせる等のやり方ではなく、APIを使用して直接実行するようなやり方を教えてください。 環境はDelphi6を使用しています。 よろしくお願いします!

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

  • ベストアンサー
  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.1

Submitボタンの上位にある<FORM>タグのmethodがPOSTかGETかを見てactionに書かれているアドレスにTELNETで接続してHTTP手順でメッセージを書き込めばよい。 書き込み値は<FORM>タグ以下の<input>タグのnameとvalue。 HTTPのPOSTリクエストの手順はRFC2616で規定されています。 PROXYを通す場合と通さない場合でリクエスト手順が異なりますので要注意。

amzel
質問者

お礼

ご回答ありがとうございます。 現在、テストで実行しているページの<FORM>タグは以下ようになっています。<form name="frmMain" method="POST" action=""> [Submit]ボタンの実行処理は<input>タグ内の[onClick]にJavascript関数を当て込んで実行しているようなのですが、当方では[Submit]ボタンを実行する事で当て込まれているJavascript関数を実行したいと考えているのですが、どうでしょう? 可能でしょうか? よろしくお願いします。

その他の回答 (1)

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.2

要求が矛盾しています。 1)BrowserコンポーネントやIEを使用して[submit]ボタンをクリックさせる等のやり方ではなく、APIを使用して直接実行するようなやり方 2)[Submit]ボタンを実行する事で当て込まれているJavascript関数を実行したい 結局IEコンポーネントを利用したいのかしたくないのかわかりません。 IEコンポーネントを利用したくないのであればJavaスクリプトの互換機能を自分で実装するしかありません。

amzel
質問者

お礼

2度のご回答ありがとうございます。 -->要求が矛盾しています。 そうですね。質問の仕方が良くありませんでした。 具体的には、 InternetOpen、 InternetConnect、 HttpOpenRequest、 HttpSendRequest でHTTPのPOST命令を実行するところまで行き着きましたが、 その場合に、指定のJavascript関数をPOST命令として送る方法はありますでしょうか? よろしくお願いします。

関連するQ&A

専門家に質問してみよう