2

id選択したラジオ ボタンの名前といくつかの要素データをサーバーに渡し、divそれらのデータをサーバー側で処理したいと考えています。

例として、以下は私の CGI コードです。

use strict;
use CGI;
print

"Content-type:text/html\r\n\r\n",
"<html>",
"<body>",
"<div style='float:left'>",
"<input type='radio' name='selections' id='red'>",
"<input type='radio' name='selections' id='blue'>",
"<input type='radio' name='selections' id='green'>",
"</div>",
"<div style='float:left'>",
"<div style='float:left' id='redtime'>red time</div>",
"<div style='float:left' id='blutime'>blue time</div>",
"<div style='float:left' id='greentime'>green time</div>",
"</div>",

"<input type='button' value='clickme'/>",
"</body>",
"</html>";

上記の CGI ファイルでは、選択したラジオ ボタンのid値とdiv要素のデータの値を渡す必要があります。CGIでそれを行うにはどうすればよいですか?

4

1 に答える 1

3

idクライアント側での使用を目的としています。サーバー側で取得する場合は、JavaScriptを使用して非表示の入力を生成するか、XMLHttpRequestでリクエストを行う必要があります。

value代わりに使用してください。

次に、あなたはただ:

my $value = $instance_of_CGI->param('name_of_radio_group');

また、送信ボタンtype="submit"(フォームを送信する)を作成する必要がありますが、作成する必要type="button"はありません(JavaScriptをバインドしない限り何もしません)。


フォームコントロールは、データを処理するスクリプトのURIに属性が設定された<form>要素内に配置する必要もあります。action


また、CSSだけでなく、マークアップで関連する入力の横にすべてのフォームラベルを配置し<label>、要素ではなく<div>要素を使用することをお勧めします。


"Content-type:text/html\r\n\r\n",

これを手動で行わないでください。CGI.pmを使用しています。

print $instance_of_CGI->header();
于 2012-12-18T15:03:58.980 に答える