プロが教える店舗&オフィスのセキュリティ対策術

チェックボックスで選択した内容をsubmitを使わず送信したいと思っています。
具体的には下記のような処理です。

<table>
<tr>
<td onclick="location.href='http://www.****.cgi?pref=東京&categoly=A'">
東京
</td>
</tr>
<tr>
<td onclick="location.href='http://www.****.cgi?pref=神奈川&categoly=A'">
神奈川
</td>
</tr>
</table>

このcategoly=Aの部分をチェックボックスで選択し、その選択した値を
送信したいのです。
pref=○○の部分とcategoly=Aの部分をともにチェックボックスにし、submit
ボタンを設置すれば簡単なのですが、submitボタンを設置せずに上記のような
リンク形式でチェックボックスで選択した内容を送信することは可能でしょうか?

A 回答 (3件)

こんな感じですか?



<HTML>
<HEAD>
<BODY>
<FORM>
<INPUT TYPE="checkbox" onclick="location.href='http://www.****.cgi?pref=東京&categoly=A'">東京</INPUT><BR>
<INPUT TYPE="checkbox" onclick="location.href='http://www.****.cgi?pref=神奈川&categoly=A'">神奈川</INPUT>
</FORM>
</BODY>
</HTML>

この回答への補足

回答ありがとうございます。
せっかく回答いただきましたが、ちょっとやりたいことと違うようです。
やりたいのは、チェックボックスの部分はあらかじめ選択しておいて、東京or神奈川の部分をクリックした際、pref=東京or神奈川の部分とcategoly=(チェックボックスで選択された値)がcgiにわたされるようなソースです。

説明がわかりにくかったようで申し訳ありません。
お分かりでしたら教えてください。

補足日時:2003/02/15 13:47
    • good
    • 0

こんな感じでどうですか?


IEだと多分動くと思います。


<html>
<head>
<script language=javascript>
<!--
function link_click(place)
{
if(document.test.c_cat.checked){
document.test.categoly.value="A";
} else {
document.test.categoly.value="";
}
document.test.pref.value=place;
document.test.submit;
}
-->
</script>
</head>
<body>

<form name="test" action="http://www.****.cgi" method="post">
<table>
<tr>
<td><input type="checkbox" name="c_cat">categoly</td>
</tr>
<tr>
<td><a href="#" onclick="link_click('東京')">東京</a></td>
</tr>
<tr>
<td><a href="#" onclick="link_click('神奈川')">神奈川</a></td>
</tr>
</table>
<input type="hidden" name="pref" value="">
<input type="hidden" name="categoly" value="">
</form>
</body>
</html>

この回答への補足

回答ありがとうございます。
すいません、IE6.0なのですが私のブラウザでは動かないようです。
しかも私の質問は少し間違っていました。
チェックボックスではなくて、ラジオボタンでA,B,C,Dの中から値を値を選びたいというものです。チェックボックスと大した違いはないと思いますが・・・

補足日時:2003/02/15 14:23
    • good
    • 0

categoly のラジオボタンがあるフォームに name="pref" のhidden部品を加え、td の onClick でその値を埋めて、ついでに送信すればいいでしょう。



# JavaScript部
<SCRIPT language="JavaScript"><!--
function mySubmit( place ) {
  document.form1.pref.value = place;
  document.form1.submit();
}
// --></SCRIPT>

# FORM部
<FORM name="form1" action="http://www.****.cgi" onSubmit="return false">
<INPUT type="hidden" name="pref" value="">
<INPUT type="radio" name="categoly" value="A">A
<INPUT type="radio" name="categoly" value="B">B
<INPUT type="radio" name="categoly" value="C">C
<INPUT type="radio" name="categoly" value="D">D
</FORM>

# TABLE内の各TD部
<TD onClick="mySubmit('東京')">東京</TD>
<TD onClick="mySubmit('神奈川')">神奈川</TD>

※各パーツは、HTML内の適当なところに配置してください。
※一部に全角スペースを使っているので、コピーする際は半角スペースやタブなどに変換してください。

補足:
FORMタグ内の onSubmit="return false" は、送信動作をキャンセルさせるためのものです。
これにより、フォーカスがラジオボタンに当たっているときに、Enterキーを押すことで送信されてしまうのを防ぎます。
    • good
    • 0
この回答へのお礼

Great!!
完璧です。
ありがとうございました。

お礼日時:2003/02/16 22:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!