電子書籍の厳選無料作品が豊富!

現在、ラジオボタンによるデータの受け渡しを調べているのですが

submitボタンを使わずに、データ遷移がしたいと思い
色々やっているのですが上手く行きません。
これは実現可能なのでしょうか?

<input type="radio" name="hoge" value="1" onclick="location.href='<?php echo $_SERVER['REQUEST_URI']; ?>'; test(this.value);" <?php echo $check1; ?>>
<input type="radio" name="hoge" value="2" onclick="location.href='<?php echo $_SERVER['REQUEST_URI']; ?>'; test(this.value);" <?php echo $check2; ?>>
<input type="radio" name="hoge" value="3" onclick="location.href='<?php echo $_SERVER['REQUEST_URI']; ?>'; test(this.value);" <?php echo $check3; ?>>

上記のソースの様な感じでとりあえずやってみましたが、
「ボタンを押したら即移動」は可能なものの、value値の保持が
javascript上でどうやったらいいか分かりません。
※$check1~3は遷移後のchcked判定の変数です
※test関数においてのvalueを格納する処理が分かりません

やはり無難にsubmitボタン+セッション関数等で構築した方が良いのでしょうか?

A 回答 (1件)

location.hrefは移動するだけで、value値をもっていくわけではないです。


代わりにJavaScriptにsubmitボタンを押させるようにすれば、移動後のページに値を持っていくことができます。

<html>
<body>

<?php
if(isset($_GET["hoge"]) && strlen($_GET["hoge"]) )
{

$check1 =($_GET["hoge"]==1)? "checked" :null;
$check2 =($_GET["hoge"]==2)? "checked" :null;
$check3 =($_GET["hoge"]==3)? "checked" :null;

?>
<script language="JavaScript">
<!--
test("<?php echo $_GET["hoge"]; ?>");

//-->
</script>
<?php
}
?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" name="form">
<input type="radio" name="hoge" value="1" onclick="form.submit();" <?php echo $check1; ?>>

<input type="radio" name="hoge" value="2" onclick="form.submit();" <?php echo $check2; ?>>
<input type="radio" name="hoge" value="3" onclick="form.submit();" <?php echo $check3; ?>>
</form>

</body>
</html>
    • good
    • 0
この回答へのお礼

なるほど~
form.submit()という便利な構文があったんですよね!
ありがとうございました!

お礼日時:2007/01/18 13:55

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