アプリ版:「スタンプのみでお礼する」機能のリリースについて

異なるフレーム(AとBとします)があります。

フレームAの1つの"button"を押すとフレームBのそれぞれのフォーム(ログイン画面のIDやパスワードのボックス)に
一括で入力されるようにしたい。できれば、自動でそのフォームの送信もしてほしい。

・フレームAは自由に変更可能。
・フレームBは変更禁止。(YahooやGmailのログイン画面とかWebページを想定)
・フレームBのフォームの"name"は同じ。一定。
・フレームBのフォームには"hidden"を含むとする。(入力しなくてよいフォームがある)
・フレームBのフォームの送信ボタンは"submit"か"button"と一定でない。表示するページによる。

こんな感じの条件でJavascriptとHTMLで作くれる方お願いします。

A 回答 (3件)

Javascriptには他ドメインの内容にアクセスできないって制限が付いています。


値の入力ってのは値の書き換えにあたるので制限されているページに対してはjavascriptでは実行不可能です。

この回答への補足

・フレームBは上記のことが制限されていないページとして考えてください。

補足日時:2009/07/01 20:23
    • good
    • 0

#1です。

同じドメイン内のページという事でログインIDとパスワードを設定する場合のサンプルです。
・ログインIDとパスワード以外はなにもせずに送信します。
・送信するフォームにjavascriptその他によるなんらかの仕掛けがあっても無視します。
・一見フォームに見えて<form>でない場合は送信できません。


フレームAのHTML
<input type="button" value="フレームB送信" onclick="sample()">

<script type="text/javascript">
function sample(){
var O = parent.フレームBのname.document.getElementsByName('ログインIDのname')[0];
O.value = 'ログインIDの値';
O = parent.フレームBのname.document.getElementsByName('パスワードのname')[0];
O.value = 'パスワードの値';
O.form.target="_top";//送信結果でフレームを解除する。解除の必要がなければこの行は削除。
O.form.submit();
}
</script>



※ フレームBのname というのはAとBを指定しているframeset内で付けたname。
※ このソースが第三者に見える状態であればソースを見ればソース中からパスワード等がバレますのでセキュリティに関しては留意してください。

この回答への補足

<iframe></iframe>でも有効ですか?

補足日時:2009/07/02 04:43
    • good
    • 0

#2です。


> <iframe></iframe>でも有効ですか?
サンプルで書いたスクリプトはフレームページ専用です。
フレームAというのを通常ページに、フレームBというのをページAのiframeに変更するならスクリプトも変更が必要になります。
フレームBの中のiframeの中のフォームを、とかいう話だと、その場合もまた違った変更が必要です。
どういう構成なのかハッキリしないとスクリプトを書くのは難しいので、構成がfixしてから改めて質問したほうがいいかも。
    • good
    • 0
この回答へのお礼

あなたのおっしゃるとおりです。構成がはっきりしないとプログラムは書けません。ましてや、複雑なJavascriptですし。

新しい質問で同じ(<iframe>版)のを出しました。こちらにお願いします。
http://oshiete1.goo.ne.jp/qa5092922.html

お礼日時:2009/07/02 18:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!