テキストからフォームをPOSTするには?

[上に] [前に] [次に]
みく 2000/03/31(金) 23:41:19
submitボタンを使わずにテキストからのリンクでCGIにパラメータを
POSTで渡したいんでっすが、どうすればいいんでしょう?
<A HREF='xxx.cgi'>text</A>
GETで渡すにはパラメータが多すぎてURLの制限を越えてしまう可能性が
あるのと、パラメータが直接見えてしまうのは美しくないもんですから。

Phine 2000/03/31(金) 23:51:39
<A HREF="JavaScript: 〜
という風にすればできると思います。

:-) 2000/04/01(土) 00:04:30
それじゃムリ。
ソケット使いましょう。
「post usesocket」 あたりで検索してみ

toshi [HomePage] 2000/04/01(土) 00:10:43
JavaScriptでできそうなきもするんですが。(^^;

<form method=post action="xxx.cgi">
<input type=hidden name="hoge" value="hogehoge">
...
</form>

<A HREF='#' onClick="document.forms[0].submit();return false">text</A>


なんかちがうかも...

:-) 2000/04/01(土) 00:37:32
マジデ ??
おれぢゃばすくりぷと知らんから。
んじゃ

Phine 2000/04/01(土) 00:40:13
すいません。言葉足らずでした。
みくさんの質問文をみて HREF="JavaScript: という使い方があることを知らないのかな、と思ったので。
toshiさんが書いてくれたようにすればいい、というつもりでした。

みく 2000/04/01(土) 02:32:09
Phineさん、:-)さん、toshiさんありがとうございます。
toshiさんの方法で動作することは確認しました。

<form method=post name="my_form1" action="xxx.cgi">
<input type=hidden name="hoge" value="hogehoge">
<input type=hidden name="nani" value="naninani">
...
</form>

とパラメータが複数あるときには
<A HREF='#' onClick="document.forms[0].submit();return false">text</A>
のforms[0]の部分を書き換えるんだろうなって思うんですが、
どうすればいいのでしょう?
それと、

<FORM name=my_form1" ......>
..........
</FORM>

<FORM name=my_form2" ......>
..........
</FORM>

とフォームが複数(約60)有るときに名前で指定することは出来るんでしょうか?

ちょっと質問の仕方が悪くてイメージがわかないでしょうか?
実はWEBカレンダーの日付のマスからその日の予定にリンクを
張っていたんですが、私個人で使う分にはパラメータは日付
だけでよかったんですが、グループで使うことになり、しかも
インターネット上に出すということにもなったので、ユーザー認証
して、セッションIDをもたせたり、ユーザーごとにアクセスの
パーミッションのレベル分けをする必要ができたので、パラメータ
の数が結構多くなってしまったのです。一応パラメータは暗号化して
あるんですが、URL表示で見せたくないんです。

Phine 2000/04/01(土) 07:11:25
パラメータが複数のときもそのままでいいです。
実際やってみればどんな風に送られてくるかも分かると思います。
フォームが複数のときは
document.my_form1.submit() ;
のようにすれば名前でアクセスできます。

みく 2000/04/01(土) 15:34:44
[[解決]]
Phineさんありがとうございます。

<FORM method=post name="my_form1" action="xxx.cgi">
<INPUT type=hidden name="para1_1" value="hogehoge">
<INPUT type=hidden name="para1_2" value="naninani">
...
<A HREF='#' onClick="document.my_form1.submit();return false">text1</A>
</FORM>
...
...
...
<FORM method=post name="my_form2" action="xxx.cgi">
<input type=hidden name="para2_1" value="hogehoge">
<input type=hidden name="para2_2" value="naninani">
...
<A HREF='#' onClick="document.my_form2.submit();return false">text</A>
</form>
....
....
以下同様に約60個程度のフォームが続くhtmlをcgiで作成してテストをしたところ希望通りの動作をしました。
javascriptはブラウザの互換性に問題があるということで、サーバーサイドでの処理とhtmlだけで済ませて、javascriptは避けて通ってきました。:-)さんの簡潔なレスはプロセス間通信をすればっていう提案だと受け取りました。私もその方法は検討してはみたんですが、サーバー負荷が増大するので、躊躇してました。
javascriptでクライアントサイドで解決できてたすかりました。
toshiさん、Phineさんどうもありがとうございます。
これから、javascriptも取り組んでいこうと思います。
また、質問させてください。ありがとうございます。
解決のチェックマークを入れておきます。

[上に] [前に] [次に]