プロトタイプJavaScriptを使用しています。ボタンがあり、Event.observeメソッドを使用してクリックアクションを監視したいと思います。
問題は、PHPコードのifステートメントに応じて2つの関数のいずれかを呼び出したいということです。私のJavascriptとEvent.observeメソッドの理解はかなり限られていますが、存在しない要素を観察しようとするとコードが機能しないようです。次のように、これを非常にハッキーな方法で機能させることができます。
<?php if ($_type == "forward_second"):?>
<input type="button" id="week_backward_second" value="<<" disabled/>
<input type="hidden" id="week_backward" value="<<" />
<?php else: ?>
<input type="button" id="week_backward" value="<<" disabled/>
<input type="hidden" id="week_backward_second" value="<<" />
<?php endif; ?>
そしてJavaScriptで:
initialize: function {
Event.observe('week_backward', 'click', this.backward.bind(this));
Event.observe('week_backward_second', 'click', this.backwardSecond.bind(this));
},
隠しフィールドを持つことにより、「不要」Event.observe
には監視する要素があり、コードは機能します。
誰かがこれを行うためのより良い方法を提案できますか?