0

特定のユーザーのフィールドの一部を無効にする必要があるフォームがありますが、他のユーザーはすべてのフィールドに入力して編集できるため、次のようになります。

$('.adminOnlyField').attr("readonly","true");
$('.adminOnlyField').prop('disabled', 'disabled');

このため、フォームが送信されたときに、変更を処理するためにコントローラーに何も送信されません。たとえば、$_POST は空です (cakePHP では $this->request->data)。これらの行を削除するとすぐに、データが再度送信されます。

どうすればこれを回避できますか?私は CakePHP を使用していますが、これは問題ではないと思います。

ありがとう

4

2 に答える 2

0

.prop()は次のように使用されます。

$('.adminOnlyField').prop('disabled', true);

disablingしかし、なぜあなたがそれを作っているのか理解できませんreadonly。あなたの入力がそうである場合disabledreadonlyどのように値を手動で入力しますか。

于 2013-03-07T06:58:03.903 に答える
0

フィールドを無効にすると、それらはフォームに投稿されません。それらの編集を制限したい場合は、それらを読み取り専用としてマークするだけです。次の行を追加して、無効化を削除してください。

$('.adminOnlyField').attr("readonly","true");

select 要素を無効にしておく必要がありますが、同じ名前と値を持つ別の非表示の入力も追加する必要があります。

SELECT を再度有効にする場合は、その値を onchange イベントの非表示の入力にコピーする必要があります。

于 2013-03-07T06:58:13.217 に答える