■質問
通常IEオブジェクトを使ってフォームにセットされたデータを
サブミットするには、
IE.Document.forms("").elements("").value = ""
IE.Document.forms("").submit()
と行うと思うのですが。
例えば下記のようなフォームを送信する際、
フォームのある"http://test.com/login_form"
ページにわざわざ移動せず
直接"http://test.com/action"の
"hidden"のエリアに対してデータを送信
する方法を教えて頂けませんでしょうか?
また、Form1に複数のエレメントが存在する場合
全てのエレメントの値を送らないと正しく処理
できないでしょうか?
■"http://test.com/login_form" のHTML
<form name="Form1" method="post" action="/action">
<input type="hidden" name="ID" value="1234">
<input type="submit">
</form>
No.1ベストアンサー
- 回答日時:
質問1:「"hidden"のエリアに対してデータを送信する方法」
回答1:「IE.Document.forms("").elements("").value = ""」
html上の表現が何かは関係ありません。
textでもtextareaでもhiddenでもcheckboxでもselectでも同じです。
methodをpostで送るかgetで送るかは重要です。
httpsの場合は基本的に無理だと思ったほうがいいと思います。
また、遷移元ページやクッキーをチェックしている場合もあるので注意してください。
質問2:「全てのエレメントの値を送らないと正しく処理できないでしょうか」
回答2:そういう場合もあります。それはサイトの仕組みによります。
すべて必要なことのほうが多いと思います。submitボタンの値も送信されますが
これはチェックしていないことが多いです。
ボタンが複数ある場合などには逆にチェックして処理する場合があります。
ご回答ありがとうございます。
不明な点があり、追加質問させてください。
postで送るかgetは、IEオブジェクトから行えるのでしょうか?
※もし、TCP/IPなどの階層でのプログラミングでしたら、
今回は諸事情から、今回避けたいと思っていますので
VBSのIEオブジェクト操作でお願いできませんでしょうか?
No.2
- 回答日時:
>postで送るかgetは、IEオブジェクトから行えるのでしょうか?
そうです。
>もし、TCP/IPなどの階層でのプログラミングでしたら、
違います。
もし、さらに追加で質問がある場合には
ソースコードの全文を提示してください。
■お詫び
返事が遅くなり申し訳ありません。
質問を出した後に解ったのですが、"hidden"に関しては私の勘違いが
有りました。
そのせいで、変な質問になり申し訳ありませんでした。
POST先のCGIに"hidden"エリアがあり、そこにデータを送信するのだ
と思い込んでいましたが、単なるブラウザ上で目に見えないINPUT部品だった訳ですね。
■お礼
有益な情報ありがとうございました。
>postで送るかgetは、IEオブジェクトから行えるのでしょうか?
はい
この回答だけでも、大変感謝しております。
頂いたお答えをヒントに調べてみたら下記のように
InternetExplorer.ApplicationのNavigate2で
第4引数に POST で送りたいデータを指定できると言う事が
解りました。その事でよろしいのですよね。
もしかして別の方法でしたでしょうか?
■ソースコード
Set IE = WScript.CreateObjec("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "URL"
Do While IE.busy
WScript.Sleep 100
Loop
IE.Document.forms("FORM1").elements("名前").value = "値"
WScript.Sleep 500
IE.Document.forms("FORM1").submit()
■"http://test.com/testform" のHTMLソース
<form name="Form1" method="post" action="/action">
<input type="text" name="名前">
<input type="hidden" name="ID" value="1234">
<input type="submit">
</form>
これなら、POST使わなくても良いじゃないかと思われるかも
しれませんが、このフォームがあるページより、
相当回数の値を変えたデータ送信が必要な場合、
サブミットで新しいページに移行してはまたフォームのページに
戻っては処理を繰り返すのでは時間が掛かります。
そこで、移動先のCGIに直接データをPOSTしたかった訳です。
そうすれば、フォームのあるページに移動する手間が省けるのでは
ないかと思ったのです。
まだ、時間が取れず、テストできていませんのでそのような感じに
出来るのか不明ですが。 お世話になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
フォームを作る
-
以下のx.phpにアクセスし
-
初歩的な質問ですが、入力に対...
-
mailtoで、文字化けを防ぎ、メ...
-
PHPの質問:フォームから受け取...
-
ローカルにあるhtmlのフォーム...
-
2つのフォームから同時に送信...
-
$_POST['hoge']のデータをフラ...
-
携帯サイトの入力フォームにつ...
-
セッションを使わずに遷移先画...
-
PHPでファイルアップロード時に...
-
文法エラーが解決出来ません・・
-
JavaScript変数をPHPへ渡す
-
アマゾンのような評価の星を選...
-
フォーム送信後の更新ボタンで...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
Flaskでサーバー立ち上げに関して
-
PHPでクリックするたびに変数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
セッションを使わずに遷移先画...
-
アマゾンのような評価の星を選...
-
JavaScript変数をPHPへ渡す
-
フォーム送信後の更新ボタンで...
-
テキストリンクをPOST送信したい
-
ボタンをクリックでPHP文を実行
-
フォームで作った送信ボタンが...
-
phpで、フォームのラジオボタン...
-
PHPでファイルアップロード時に...
-
PHPでバーコード読み取りって・...
-
送信ボタンでカウントアップ
-
VBSのIEオブジェクトでフ...
-
Submit(送信ボタン)を押した...
-
PHPの質問:フォームから受け取...
-
POSTデータをフォームに残す方法
-
リンク先のフォームに自動的に...
-
PHPの送信フォームについての質...
-
phpのカウンタのリセット方法
おすすめ情報