【HTML】FORMでボタンではなくハイパーリンクでPOSTをsubmitする方法


PC/プログラム/ゲーム/ネット系レポ TOPはこちら

FORMでボタンではなく、ハイパーリンクでPOSTする方法って?

例えば、漢字を入れたデータを引き渡す時に、GETだと日本語処理がうまくいかない場合などで使えます。

通常はPOSTでの置換方法

例えば、search.cgi という、検索するCGIを作ったとして、パラメーターとして、KEYWORD に検索文字列をPOSTでCGIに引き渡す場合。

<HTML>

<form method="POST" name="FORM1" action="search.cgi"> 
<input type="submit" value="検索" name="B1"> 
<input type="hidden" name="KEYWORD" value="奈良"> 
</form> 

こんなイメージ

↑このボタンは表示イメージなので押しても何もなりません。遠慮なく押してください。

ハイパーリンクにする場合

ハイパーリンクでPOSTする場合はformを作って、隠れパラメータ(type="hidden") でPOSTしたい名前(name="〇〇")とその値(value="〇〇" )を記載し、そのフォームをjavascriptからsubmit するという形になります。

この際、javascript からsubmit するためには、フォームを識別する必要があるため、フォームの名前設定(name = "FORM1"のような指定 )が必須となります。ご注意ください。

<form method="POST" name="FORM1" action="search.cgi"> <input type="hidden" name="KEYWORD" value="奈良"> </form>

<a href="javascript:FORM1.submit()">検索</a>

こんなイメージです。フォームとハイパーリンクのコードは離れて記載しても構いません。

検索

↑これは表示イメージなので押しても何もなりません。遠慮なく押してください。

 

以上です。