<input type=”hidden” name=”aaa” value=”1”>
<input type=”hidden” name=”bbb” value=”2”>
<input type=”hidden” name=”ccc” value=”3”>
<input type=”submit”>
</form>
に相当する機能をJavascriptだけで実現したいのですが、どうやればいいでしょうのか?
私にはJavaScriptどころか
HTMLだけで実現できているように見えますが。
formで何かを送信させて着信した情報を元に
何をしようとしているのですか?
そこの部分をがわからないとJavaScriptどころか
どの言語を使おうとも書くことなど出来ません。
単純に外部のファイルに書いてはいけませんか?
ファイル名hogehoge.jsの内容を
document.write(”<form method=’POST’ action=’
$B$[$2(B.JP
’><input type=’hidden’ name=’aaa’ value=’1’><input type=’hidden’ name=’bbb’ value=’2’><input type=’hidden’ name=’ccc’ value=’3’><input type=’submit’></form>”);
として、
htmlのページ内どこかに
<script type=”text/javascript” src=”hogehoge.js”></script>
JavascriptでターゲットのHTMLに対してPOSTしたい、という解釈ですと参考URL1つめの方法でどうでしょう。
※私もこのやり方、初めて知りました。
あとは、2つ目の参考URLの「フォーム部品(共通)」を複数埋め込めば、できそうですよ。
http://www.tohoho-web.com/js/form.htm
フォーム(Form)
$B$[$2(B.JP
のアドレスに、aaa=1...のパラメータを渡したいってことでしょうか?
それなら、
location.href=”
http://hoge.jp?aaa=1&bbb=2&ccc=3
$B$[$2(B.JP
”;
てのはどうでしょう?
まあこの場合、JavaScriptじゃなくってもaタグ使うだけで良いですが。
全然かんちがいでしたらゴメンナサイ。
GETならできるんですけどね。。
リンク元のページの各inputの値をリンク先のページで
取得したい、という事でしょうか?
postによって送信された値をクライアント側のJavaScriptで
取得するのは不可能かと思います。
サーバー側でその値を同じようにinputで吐き出して遷移先の
ページに渡すことは簡単ですが、ご質問から推測すると
サーバー側のスクリプトはいじれないということですよね?
となると、クッキーを使うか、getを使ってURLに付加して
遷移先のJavaScriptで自分のURLから判断するという方法しか
浮かびません。
参考にならなかったらごめんなさい。
ちょっと苦しいけど、以下のようなコードでPOSTはできます。きっと、formの追加もできると思うんですが、ためしてません。見やすさのために改行しまくってますので、実際には関数とかにしてみてくださいな。
<form action=”hoge.html” name=”x” method=”post”>
<input type=”button” onClick=”
inp1=document.createElement(’input’);
inp1.type=’hidden’;
inp1.name=’aaa’;
inp1.value=’1’;
document.x.appendChild(inp1);
inp2=document.createElement(’input’);
inp2.type=’hidden’;
inp2.name=’bbb’;
inp2.value=’2’;
document.x.appendChild(inp2);
inp3=document.createElement(’input’);
inp3.type=’hidden’;
inp3.name=’ccc’;
inp3.value=’3’;
document.x.appendChild(inp3);
document.x.submit();
” value=”post”>
</form>
DOMについて勉強するといいかも。です。
HTMLの部分を以下のようにして、
-----
<form name=”hoge” method=”post” action=”
$B$[$2(B.JP
” onSubmit=”return SubmitCheck();”>
<input type=”hidden” name=”test”>
<input type=”hidden” name=”test2”>
<input type=”hidden” name=”test3”>
</form>
-----
Javascriptを、以下のようにしてみてはどうでしょう?
<script>
function SubmitCheck(){
document.hoge.test.value = ”test0001”;
document.hoge.test2.value = ”test0002”;
document.hoge.test3.value = ”test0003”;
return true;
}
</script>
※補足ですけど、submit()の宣言は使えないですので、ご注意。
なるほど。ありがとうございます!