これ何て呼びますか

javascriptのことで質問させてください。
よろしくおねがいします。

簡単なフォームをテーブルで作成しています。
例えばの例でお願いします。

<form action="" method="post">
<table>
<tr>
<td>表示/非表示<td>
<td><input type="radio" value="1">非表示 <input type="radio" value="2">表示<td>
<tr>

<!--ここから表示/非表示部分-->
<tr>
<td>テキスト<td>
<td><input type="text"><td>
<tr>
<!--ここまで表示/非表示部分-->

</table>
</form>
上記のようなフォームがあったとします。

PHPを使用していまして、
『hoge.html?str=値』 がアドレスとします。
$str=$_GET['str'];

$str=1 の時は、はじめは表示
$str=2 の時は、はじめは非表示
$str="" の時は、はじめは非表示

という感じの内容でラジオボタン選択すると表示/非表示されると言うものを作成したいと思っています。

説明がわかりにくいと思いますがどうぞよろしくお願いします。

A 回答 (1件)

こんにちは。




以下のような感じではどうでしょうか。
(表示非表示の値がradioの値と差異があったので勝手にあわせてしまいました)
phpの$strは$_GET['str']の値で、""の場合は2にしています。


==== script部分
<script type="text/javascript">
window.onload = function() {
var disp = document.getElementsByName('disp');
setDisp ( '<?= $str ?>' );
for ( var i = 0; i < disp.length; i ++ ) {
disp[i].onclick = function() {
setDisp ( this.value );
};
}
};
function setDisp ( value ) {
document.getElementById('area').style.display =
value === '2' ? 'none' : 'block';
}
</script>

==== html部分
<table>
<tr>
<td>表示/非表示<td>
<td><input name="disp" type="radio" value="2"<?= $str === '2' ? ' checked="checked"' : '' ?>>非表示 <input name="disp" type="radio" value="1"<?= $str === '1' ? ' checked="checked"' : '' ?>>表示<td>
<tr>
<!--ここから表示/非表示部分-->
<tr id="area">
<td>テキスト<td>
<td><input type="text"><td>
<tr>
<!--ここまで表示/非表示部分-->
</table>
    • good
    • 0
この回答へのお礼

ご返答遅れて申し訳ございません

ありがとうございます!!
できました!

本当にソースをそのままいただき助かりました。

また何かありましたらよろしくお願い致します。

お礼日時:2012/07/05 10:00

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