2

ページが再レンダリングされたときに、ページのすべてのテキスト入力をリセットする方法はありますか? ページは、以前のレンダリングからのテキストを引き続き入力としてロードし続けます。

4

1 に答える 1

2

それは、これらの入力をレンダリングする方法に大きく依存します。Seaside コンポーネントを使用する場合は、コールバック内に独自のロジックを実装できます。

html textInput
    callback: [ :value | self setOrResetMyInputWith: value ]
    with: 'my input'.

#setOrResetMyInputWith:次に、次のようになります。

setOrResetMyInputWith: aString
    myInputValue := self allCriteriaMet
        ifTrue: [ aString ]
        ifFalse: [ nil ]

コールバックが評価される順序を予測できないことに注意してください。したがって、レンダリング前にチェックを行う方が簡単な場合があります。

renderContentOn: html
    self checkMyInputs.
    "continue rendering process"
    ...

基準が満たされない場合は、インスタンス変数をリセットするだけです。

コンポーネント用です。Magritte を使用する場合は、Magritte の検証メカニズムがこれを処理する必要があります。必要なことは、それぞれの説明で検証を有効にすることだけです。

于 2013-07-13T08:39:59.197 に答える