PHP変数をjavascript関数に渡そうとしています。この問題に関する記事や質問がたくさんあることは知っていますが、どれも私には役に立たないようです。私の問題は少し奇妙です。コードから始めましょう。
これが私のPHPコードです:
<?php
session_start();
$type = 'Dance';
$environment = 'Outside';
?>
これはHTMLコードです:
<form onsubmit="showEvents(<?=$type ?>, <?=$environment ?>)">
<select class="drop_down_menus" name="type">
<option>All</option>
<option>Dance</option>
<option>Festival</option>
<option>Music</option>
<option>Stand-Up</option>
<option>Theather</option>
</select>
<select class="drop_down_menus" name="environment">
<option>All</option>
<option>Indoor</option>
<option>Outdoor</option>
</select>
<input type="submit" id="submit_button" value="Event Me Out!">
</form>
<div id="test_div">test1</div>
これはJSコードです:
function showEvents(type, environment) {
document.getElementById('test_div').innerHTML = "test2";
}
送信ボタンをクリックすると、「test_div」のテキストが「test1」から「test2」に変更されますが、フォームを送信しても何も変更されません。
奇妙なことはここから始まります:
次のPHP変数を使用して、両方の変数を「$ current_year」に変更すると、機能します。
<?php
$today = getdate();
$current_year = $today['year'];
?>
<form onsubmit="showEvents(<?=$current_year ?>, <?=$current_year ?>)">
...rest of the HTML code...
私は最初にそれがスコープの問題だと思ったが、明らかにそれは、すべてが同じスコープを持っている間、1つの変数が機能し、他の変数が機能しないためではない。
多分私が知らない非常に単純な何かがあるでしょう。あなたが私を助けてくれる(または私を別の質問に導く)ことができれば、私は感謝します。これまでのところ、どのソリューションも役に立ちませんでした。
前もって感謝します。
$type
注1:変数と変数をエコーしようとしまし$environment
たが、役に立ちませんでした。
注2:ドロップダウンメニューの選択を使用していないようですが、ここに完全なコードを記述していません。