ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

HTMLのAタグ(アンカータグ)でPOST型で値を渡したい

2007-10-24 14:56:50 | JavaとWeb

 HTMLのAタグ(アンカータグ)は、以下のように、GET型では値が渡せます。

   <A HREF="飛びたいURL?項目名=値">

 でも、GET型では長い値を渡せないし、ブラウザの上に、その渡した値が並ぶのも・・・っていうので、POST型で渡したい場合があります。

 で、このとき、昨日のsubmit()を使うと出来るので、ちょっとその話。




 以下のように、Formのinputタグのhiddenで(例だとaaa)に渡したい値をセットして、actionに飛び先のURL、methodをPOSTで設定すれば、POST型で飛びます。

<html>
<body>
<A HREF="" onclick="document.form1.submit();return false;" > テスト</A>
<form name="form1" method="POST" action="http://127.0.0.1/test.php">
<input type=hidden name="aaa" value="bbb">
</form>
</body>
</html>

(上記< >は、本当は半角)

 ここで、AタグのHREFがないと、リンク先のアンダーバーが引かれない(ので、クリックできない)ことと、onclickでreturn false;を入れないと、リンク先に行こうとしてしまうことに注意してください。




で、このとき、受け手のtest.phpを
<?php
	echo 'GET' . $_GET['aaa'] . "<BR>";
	echo 'POST' . $_POST['aaa'] . "<BR>";
?>

(上記< >は、本当は半角)
のように記述すると、POSTのほうにbbbと出る(GETのほうはでない)と思います。




ちなみに、以下のように
<html>
<script language="JavaScript">
function zikko()
{
	document.form1.aaa.value="ccc";
	document.form1.submit();
}
</script>

<body>
<A HREF="" onclick="zikko();return false;" > テスト</A>
<form name="form1" method="POST" action="http://127.0.0.1/test.php">
<input type=hidden name="aaa" value="bbb">
</form>
</body>
</html>

(上記< >は、本当は半角)

onclickを、自分の用意した関数(上記例ではzikko())に飛ぶようにして、その中で、

     document.フォーム名.hiddenの変数名.value=設定値;

で値を設定してから

     document.フォーム名.submit();

ってすると、POSTの引数に値を渡せる。


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« JavaScriptで、子ウィンドウ... | トップ | bccで、宣言しているのに「プ... »
最新の画像もっと見る

JavaとWeb」カテゴリの最新記事