0

Zend_Formを使用して無効なチェックボックスを追加し、JSで有効にしようとしています。

ここに問題があります。zendは同じ名前と値0の非表示の入力フィールドを追加します。これは、チェックボックスがチェックされていない場合でも、値がまったくないのではなく、値0が送信されるようにするためです。これは素晴らしい。ただし、チェックボックスを無効として作成した場合、zendはこの非表示フィールドを出力しません。出力されるのは、チェックボックスが無効になっているかどうかだけです(無効になっているため、何も送信されません)。

クライアントがチェックボックスを有効にして値を変更できるようにする必要があります。

無効になっている場合、何も送信されず、dbチェックボックスの値は同じままです。有効になっている場合、クライアントはそれをチェック/チェック解除できるはずです。問題は、非表示のフィールドがなく、チェックボックスがオフの場合、何も送信されないことです。

何か案は?

4

1 に答える 1

0

まず、Zendがこれを処理する方法が好きではありません。値0の非表示フィールドを追加することは、自分でわかったように、無効になっているチェックボックスと同じではありません。

問題を解決するには:元の状態を含む非表示フィールドを自分で追加するだけです。

例えば:

<INPUT type="hidden" name="originalStateOfMyCheckbox" value="enabled/disable">

これで、最初に$ _POST ["originalStateOfMyCheckbox"]の値をチェックすることで、チェックボックスの値をチェックできます。

有効になっている場合:isset($ _ POST ["yourcheckboxname"])を使用して、チェックされているかどうかを確認できます。

無効になっている場合:もう一度isset($ _ POST ["yourcheckboxname"])を使用して、JavaScriptで有効になっているかどうかを確認できます。

于 2012-08-22T07:26:34.943 に答える