0

現在、ノックアウト ビュー モデルを使用して ajax エンドポイントに投稿しようとしています。

次のシナリオに苦労しています。

  • フォームフィールドをバインドすると、すべて問題ありません。

  • 私のアプリケーションには、一部のフォーム フィールドのreadonly属性が true に設定されているシナリオがあります ( jquery を使用 $("#element).attr("readonly","true");)

  • 読み取り専用に設定した後、モデルはコントロールから切断されます (モデル項目は null として表示されます)。

投稿する前にフォーム要素を有効にして、病棟後に null に設定しようとしましたが、これは失敗しました。

readonlyコントロールをバインドしたままにするにはどうすればよいですか?

4

1 に答える 1

0

これはうまくいきます。私は間違った場所を探していました。

問題は、Knockout がモデルを更新していなかったことではありません。問題は、モデルの代わりに jQuery を使用してフィールドのみを更新していたことです。

やっていた:

$("#fieldName").val("new value");
$("#fieldName").attr("readonly","true");

これはノックアウト モデルを更新していませんでした。モデルを使用して ajax リクエストを送信していたので、これが問題でした。

代わりにこれを行うことで、問題はありません。

viewModel.fieldName("new value);
$("#fieldName").attr("readonly","true");

本来あるべき方法で mvvm を使用するように私を押し戻してくれた皆さんに感謝します。

于 2013-02-24T11:02:41.617 に答える