- ベストアンサー
リンクをクリックした時にformからPOST送信する方法は?
- HTML、PHP、JavaScript等でサイトを作っている場合、formからPOST送信する方法を知りたい。
- 既にsubmitボタンを使用したPOST送信は実現できているが、リンクをクリックした場合にもPOST送信する方法がわからない。
- GETではなく、必ずPOST送信を行いたい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<form name="form1" method="post" action="Next.php"> <a href="#" onClick="document.form1.submit();">???</a> </form> onclick内の対象がform1としてあてているので、 アンカータグは別にform内に記述しなくても大丈夫です form内にhidden等でnameとvalueを持ったパラメータがあればそれも送られます アンカータグから動的にvalueを変更したい場合は、 document.form1.hogename.value = 'hoge'; 等をsubmit()の前に行えば可能です ただしform内に <input type="hidden" name="hogename" value=""> を記述する等、変更先パラメータの元を用意する必要がありますのでご注意下さい
その他の回答 (1)
- suzuki-_-
- ベストアンサー率77% (152/195)
> <a href="#"~ > > このシャープ記号は、文字通り"#"なのでしょうか? > それとも何か別の物を表しているのでしょうか。 文字通りです アンカータグ(<a>)はhref属性があることで文字色が変わりアンダーラインが付き、 カーソルがポインターになるという動作・レンダリングが適用されます それを適用させるために # を入れてあげています href属性のシャープそのものはページ内移動として動作し、 また、href属性がなくてもonclick自体は動作します 他のやり方では <a href="javascript:document.form1.submit();">???</a> でhref属性に直接javascriptを入れたり、 <a onClick="document.form1.submit();" style="text-decoration:underline;color:#00f;cursor:pointer;">???</a> として、href属性のないものにstyleを適用させて、 アンカーっぽく見せる等、やり方は多様です href属性へ直にjavascriptを入れるのは、 リンク部分にカーソルを合わせた際、 ステータスバーにそのままjsの処理が表示されます href="#" はonclickを使用する際に前途動作・レンダリングを適用させ、 尚且つステータスバーに処理を表示させないという一般的な方法です href属性に直js or onclick + href属性#、ここは好みかなと思います (style設定でする方は恐らく少数派でしょう)
お礼
>href="#" はonclickを使用する際に前途動作・レンダリングを適用させ、 尚且つステータスバーに処理を表示させないという一般的な方法です ご回答ありがとうございました。 おかげさまで実現する事が出来ました。
補足
ご回答ありがとうございます。 何となくイメージがつかめてきましたので、 現在実験中です。 そこで、ひとつ追加質問させて下さい。 <a href="#"~ このシャープ記号は、文字通り"#"なのでしょうか? それとも何か別の物を表しているのでしょうか。