ラジオボタンの選択に基づいてドロップダウンリストが生成されるフォームを作成しています。ラジオボタンジャーナルを選択した場合ラジオボタンの選択に基づくフィルタレコード
ジャーナル名は、ジャーナルタイプのフィルタが1になり、1または2のようなタイプのテーブルに格納され、その他のためには、私が使用している2となりますフォームを生成するコードを次に示します。
<?php
$ctype = 1 // $ctype created for filtering purpose
?>
<p> Article For:
Journal <input type="radio" name="article_for" value="Journal" id="article_journal" />
Conference <input type="radio" name="article_for" value="Conference" id="article_conference" />
</p>
<?php
// $ctype will depend upon selection from radio button. If selection is "Journal"
// value of $ctype to set 1 otherwise to set 2.
$selectrecord = "SELECT `content_id`, `content_type`, `content_name` FROM `content` where `content_type` = $ctype";
$result = mysqli_query($connection,$selectrecord) or die(mysqli_error($connection));
?>
<p> Journal Name:
<select name='content_id'>
<?php
while ($row = $result->fetch_assoc()) {
unset($id, $name);
$id = $row['content_id'];
$name = $row['content_name'];
echo '<option value="'.$id.'">' . $name . '</option>';
}
?>
</select>
</p>
私は
if(document.getElementById('article_journal').checked) {
のように設定されたコードを選択したラジオボタンをチェックすることができます。しかし、このif節では、私は、変数$ CTYPEに値を割り当てることはできません - フィルターに使用されていますドロップダウンリストの名前
私が間違っていることを見つけるのを助けてください。
よろしくお願いいたします。
javascriptはクライアントサイドのみであり、PHPサーバー側であるため、そうすることはできません。あなたが探しているものは__ajax__です。または、フォームを送信してページをリロードして、一致する値を取得することもできます(簡単ですが、ユーザーフレンドリーではありません)。 – Jeff
ありがとう@ジェフ、私は正しい方法で考えていないかもしれないので、私にも来た。手がかりをありがとう。 –
ラジオが変更されたときにajaxコールを開始するのが最善の方法です。選択した値でPHPスクリプトを呼び出し、php-scriptで目的のリストを生成し、ajax-successコールバックでそれを受け取り、htmlに挿入します。 – Jeff